Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 88135 Details for
Bug 216915
Open entities, generated from tables in their own java editor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Open generated entitiies in the respective editors(for Java class)
patch.txt (text/plain), 15.02 KB, created by
Dimiter Dimitrov
on 2008-01-29 09:59:53 EST
(
hide
)
Description:
Open generated entitiies in the respective editors(for Java class)
Filename:
MIME Type:
Creator:
Dimiter Dimitrov
Created:
2008-01-29 09:59:53 EST
Size:
15.02 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jpt.ui >Index: src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizardPage.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizardPage.java,v >retrieving revision 1.10 >diff -u -r1.10 GenerateEntitiesWizardPage.java >--- src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizardPage.java 10 Oct 2007 16:25:04 -0000 1.10 >+++ src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizardPage.java 29 Jan 2008 14:57:32 -0000 >@@ -17,8 +17,6 @@ > > import org.eclipse.core.runtime.IStatus; > import org.eclipse.jdt.core.IJavaElement; >-import org.eclipse.jpt.ui.internal.util.SWTUtil; >-import org.eclipse.jpt.ui.internal.util.TableLayoutComposite; > import org.eclipse.jdt.ui.wizards.NewTypeWizardPage; > import org.eclipse.jface.viewers.CheckboxTableViewer; > import org.eclipse.jface.viewers.ColumnWeightData; >@@ -38,6 +36,8 @@ > import org.eclipse.jpt.gen.internal.EntityGenerator; > import org.eclipse.jpt.ui.internal.IJpaHelpContextIds; > import org.eclipse.jpt.ui.internal.JptUiMessages; >+import org.eclipse.jpt.ui.internal.util.SWTUtil; >+import org.eclipse.jpt.ui.internal.util.TableLayoutComposite; > import org.eclipse.jpt.utility.internal.StringTools; > import org.eclipse.swt.SWT; > import org.eclipse.swt.events.KeyAdapter; >@@ -70,6 +70,7 @@ > private boolean generateSerialVersionUID = true; > private boolean generateEmbeddedIdForCompoundPK = true; > private boolean synchronizePersistenceXml = false; >+ private boolean openInEditor = true; > private Map<Table, String> overrideEntityNames; > > static final String[] TABLE_TABLE_COLUMN_PROPERTIES = { "table", "entityName" }; >@@ -110,6 +111,9 @@ > createPackageControls(composite, nColumns); > > final Button synchronizeClassesCheckBox = new Button(composite, SWT.CHECK); >+ GridData gd = new GridData(); >+ gd.horizontalSpan = 4; >+ synchronizeClassesCheckBox.setLayoutData(gd); > synchronizeClassesCheckBox.setText(JptUiMessages.GenerateEntitiesWizardPage_synchronizeClasses); > synchronizeClassesCheckBox.addSelectionListener(new SelectionListener() { > public void widgetDefaultSelected(SelectionEvent e) { >@@ -121,6 +125,20 @@ > } > }); > >+ final Button openInEditorCheckBox = new Button(composite, SWT.CHECK); >+ openInEditorCheckBox.setText(JptUiMessages.GenerateEntitiesWizardPage_openInEditor); >+ openInEditorCheckBox.addSelectionListener(new SelectionListener() { >+ public void widgetDefaultSelected(SelectionEvent e) { >+ // do nothing >+ } >+ >+ public void widgetSelected(SelectionEvent e) { >+ setOpenInEditor(openInEditorCheckBox.getSelection()); >+ } >+ }); >+ >+ >+ > Group tablesGroup = new Group(composite, SWT.SHADOW_ETCHED_IN); > tablesGroup.setLayout(new GridLayout(2, false)); > tablesGroup.setText(JptUiMessages.GenerateEntitiesWizardPage_tables); >@@ -142,6 +160,10 @@ > //set initial selection state of the synchronize classes checkbox > synchronizeClassesCheckBox.setSelection(!generateEntitiesWizard.getJpaProject().discoversAnnotatedClasses()); > setSynchronizePersistenceXml(synchronizeClassesCheckBox.getSelection()); >+ >+ //set initial selection state of the synchronize classes checkbox >+ openInEditorCheckBox.setSelection(true); >+ setSynchronizePersistenceXml(openInEditorCheckBox.getSelection()); > > PlatformUI.getWorkbench().getHelpSystem().setHelp(this.tableTable.getControl(), IJpaHelpContextIds.DIALOG_GENERATE_ENTITIES_TABLES); > >@@ -375,7 +397,7 @@ > int getMethodVisibility() { > return this.methodVisibility; > } >- >+ > boolean generateGettersAndSetters() { > return this.generateGettersAndSetters; > } >@@ -399,11 +421,21 @@ > boolean synchronizePersistenceXml() { > return this.synchronizePersistenceXml; > } >+ >+ boolean openEditors() { >+ return openInEditor; >+ } >+ > > private void setSynchronizePersistenceXml(boolean synchronizePersistenceXml){ > this.synchronizePersistenceXml = synchronizePersistenceXml; > } > >+ private void setOpenInEditor(boolean openInEditor){ >+ this.openInEditor = openInEditor; >+ } >+ >+ > /** > * key = table > * value = override entity name >Index: src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizard.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizard.java,v >retrieving revision 1.6 >diff -u -r1.6 GenerateEntitiesWizard.java >--- src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizard.java 10 Sep 2007 16:20:44 -0000 1.6 >+++ src/org/eclipse/jpt/ui/internal/wizards/GenerateEntitiesWizard.java 29 Jan 2008 14:57:32 -0000 >@@ -11,6 +11,7 @@ > > import java.util.Collection; > import java.util.Collections; >+ > import org.eclipse.jdt.core.IPackageFragment; > import org.eclipse.jdt.core.IPackageFragmentRoot; > import org.eclipse.jdt.core.JavaModelException; >@@ -42,6 +43,8 @@ > > private boolean synchronizePersistenceXml; > >+ private boolean openEditors; >+ > private Collection<Table> selectedTables; > > public GenerateEntitiesWizard( IJpaProject jpaProject, IStructuredSelection selection) { >@@ -78,6 +81,7 @@ > this.entityGeneratorConfig.setOverrideEntityNames( this.generateEntitiesPage.getOverrideEntityNames()); > > this.synchronizePersistenceXml = this.generateEntitiesPage.synchronizePersistenceXml(); >+ this.openEditors = this.generateEntitiesPage.openEditors(); > > this.selectedTables = this.generateEntitiesPage.getSelectedTables(); > return true; >@@ -136,7 +140,11 @@ > } > > public boolean synchronizePersistenceXml(){ >- return this.synchronizePersistenceXml; >+ return this.synchronizePersistenceXml; >+ } >+ >+ public boolean openEditors() { >+ return this.openEditors; > } > > public boolean canFinish() { >Index: src/org/eclipse/jpt/ui/internal/generic/EntitiesGenerator.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/generic/EntitiesGenerator.java,v >retrieving revision 1.5 >diff -u -r1.5 EntitiesGenerator.java >--- src/org/eclipse/jpt/ui/internal/generic/EntitiesGenerator.java 10 Oct 2007 16:25:05 -0000 1.5 >+++ src/org/eclipse/jpt/ui/internal/generic/EntitiesGenerator.java 29 Jan 2008 14:57:32 -0000 >@@ -9,7 +9,12 @@ > *******************************************************************************/ > package org.eclipse.jpt.ui.internal.generic; > >+import java.util.ArrayList; > import java.util.Collection; >+import java.util.List; >+ >+import org.eclipse.core.resources.IFile; >+import org.eclipse.core.resources.IResource; > import org.eclipse.core.resources.ResourcesPlugin; > import org.eclipse.core.resources.WorkspaceJob; > import org.eclipse.core.runtime.CoreException; >@@ -17,6 +22,10 @@ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.OperationCanceledException; > import org.eclipse.core.runtime.Status; >+import org.eclipse.jdt.core.IJavaElement; >+import org.eclipse.jdt.core.IPackageFragment; >+import org.eclipse.jdt.core.JavaModelException; >+import org.eclipse.jdt.internal.core.CompilationUnit; > import org.eclipse.jface.dialogs.Dialog; > import org.eclipse.jface.dialogs.IDialogConstants; > import org.eclipse.jface.viewers.IStructuredSelection; >@@ -28,6 +37,7 @@ > import org.eclipse.jpt.gen.internal.EntityGenerator; > import org.eclipse.jpt.gen.internal.PackageGenerator; > import org.eclipse.jpt.ui.internal.JptUiMessages; >+import org.eclipse.jpt.ui.internal.JptUiPlugin; > import org.eclipse.jpt.ui.internal.wizards.GenerateEntitiesWizard; > import org.eclipse.osgi.util.NLS; > import org.eclipse.swt.SWT; >@@ -38,6 +48,10 @@ > import org.eclipse.swt.widgets.Display; > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Shell; >+import org.eclipse.ui.IWorkbenchPage; >+import org.eclipse.ui.PartInitException; >+import org.eclipse.ui.PlatformUI; >+import org.eclipse.ui.ide.IDE; > > /** > * EntitiesGenerator >@@ -46,6 +60,7 @@ > { > private IJpaProject project; > private IStructuredSelection selection; >+ private static List<String> entityClasses = new ArrayList<String>(); > > // ********** constructors ********** > >@@ -82,15 +97,34 @@ > wizard.synchronizePersistenceXml(), > project, > new OverwriteConfirmer(this.getCurrentShell()) >- ); >- >+ ); > runnable.schedule(); >+ if (wizard.openEditors()) { >+ OpenInEditorJob openInEditorJob = new OpenInEditorJob(wizard.getPackageGeneratorConfig().getPackageFragment()); >+ openInEditorJob.schedule(); >+ } > } > } > > private Shell getCurrentShell() { >- return Display.getCurrent().getActiveShell(); >+ return Display.getCurrent().getActiveShell(); > } >+ >+ private void openEditor(final IFile file) { >+ if (file != null) { >+ PlatformUI.getWorkbench().getWorkbenchWindows()[0].getShell().getDisplay().asyncExec(new Runnable() { >+ public void run() { >+ try { >+ IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); >+ IDE.openEditor(page, file, true); >+ } catch (PartInitException e) { >+ JptUiPlugin.log(e); >+ } >+ } >+ }); >+ } >+ } >+ > > // ********** runnable ********** > >@@ -122,7 +156,7 @@ > > @Override > public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException { >- PackageGenerator.generateEntities(this.packageConfig, this.entityConfig, this.selectedTables, this.overwriteConfirmer, monitor); >+ entityClasses = PackageGenerator.generateEntities(this.packageConfig, this.entityConfig, this.selectedTables, this.overwriteConfirmer, monitor); > //force resourceChangeEvents to be posted before synchronizing persistence.xml > ResourcesPlugin.getWorkspace().checkpoint(false); > if (synchronizePersistenceXml) { >@@ -138,6 +172,36 @@ > } > > } >+ >+ private class OpenInEditorJob extends WorkspaceJob { >+ >+ private IPackageFragment packageFragment; >+ public OpenInEditorJob(IPackageFragment fragment) { >+ super("Open java editor(s)"); >+ packageFragment = fragment; >+ setRule(project.project()); >+ } >+ >+ public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException { >+ try { >+ IJavaElement[] javaElements = packageFragment.getChildren(); >+ for (IJavaElement javaElement : javaElements) { >+ if (CompilationUnit.class.isInstance(javaElement)) { >+ IResource resource = javaElement.getResource(); >+ String entityName = resource.getName().substring(0, resource.getName().lastIndexOf('.')); >+ if (IFile.class.isInstance(resource) && entityClasses.contains(entityName)) { >+ openEditor((IFile)resource); >+ } >+ } >+ } >+ >+ } catch (JavaModelException jme) { >+ >+ } >+ return Status.OK_STATUS; >+ } >+ } >+ > > // ********** overwrite confirmer ********** > >Index: property_files/jpt_ui.properties >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/property_files/jpt_ui.properties,v >retrieving revision 1.6 >diff -u -r1.6 jpt_ui.properties >--- property_files/jpt_ui.properties 1 Jun 2007 17:47:49 -0000 1.6 >+++ property_files/jpt_ui.properties 29 Jan 2008 14:57:32 -0000 >@@ -34,6 +34,7 @@ > GenerateEntitiesWizardPage_chooseEntityTable=Choose tables to generate entities from. > GenerateEntitiesWizardPage_generateEntities=Generate Entities from Tables > GenerateEntitiesWizardPage_synchronizeClasses=Synchronize Classes in persistence.xml >+GenerateEntitiesWizardPage_openInEditor=Open all generated classes in editor > GenerateEntitiesWizardPage_tables=Tables: > GenerateEntitiesWizardPage_tableColumn=Table > GenerateEntitiesWizardPage_entityNameColumn=Entity Name >Index: src/org/eclipse/jpt/ui/internal/JptUiMessages.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/JptUiMessages.java,v >retrieving revision 1.10 >diff -u -r1.10 JptUiMessages.java >--- src/org/eclipse/jpt/ui/internal/JptUiMessages.java 1 Jun 2007 17:47:49 -0000 1.10 >+++ src/org/eclipse/jpt/ui/internal/JptUiMessages.java 29 Jan 2008 14:57:32 -0000 >@@ -75,6 +75,8 @@ > public static String GenerateEntitiesWizardPage_generateEntities; > > public static String GenerateEntitiesWizardPage_synchronizeClasses; >+ >+ public static String GenerateEntitiesWizardPage_openInEditor; > > public static String GenerateEntitiesWizardPage_tables; > >#P org.eclipse.jpt.gen >Index: src/org/eclipse/jpt/gen/internal/PackageGenerator.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/PackageGenerator.java,v >retrieving revision 1.1 >diff -u -r1.1 PackageGenerator.java >--- src/org/eclipse/jpt/gen/internal/PackageGenerator.java 25 Apr 2007 20:25:43 -0000 1.1 >+++ src/org/eclipse/jpt/gen/internal/PackageGenerator.java 29 Jan 2008 14:57:33 -0000 >@@ -9,8 +9,11 @@ > ******************************************************************************/ > package org.eclipse.jpt.gen.internal; > >+import java.util.ArrayList; > import java.util.Collection; > import java.util.Iterator; >+import java.util.List; >+ > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.core.runtime.OperationCanceledException; > import org.eclipse.jdt.core.IPackageFragment; >@@ -31,11 +34,12 @@ > > // ********** public API ********** > >- public static void generateEntities(Config config, EntityGenerator.Config entityConfig, Collection<Table> tables, OverwriteConfirmer overwriteConfirmer, IProgressMonitor monitor) { >+ public static List<String> generateEntities(Config config, EntityGenerator.Config entityConfig, Collection<Table> tables, OverwriteConfirmer overwriteConfirmer, IProgressMonitor monitor) { > if ((config == null) || (entityConfig == null) || (tables == null)) { > throw new NullPointerException(); > } >- new PackageGenerator(config, entityConfig, tables, overwriteConfirmer, monitor).generateEntities(); >+ List<String> entities = (new PackageGenerator(config, entityConfig, tables, overwriteConfirmer, monitor).generateEntities()); >+ return entities; > } > > >@@ -53,13 +57,17 @@ > > // ********** generation ********** > >- private void generateEntities() { >+ private List<String> generateEntities() { > int size = CollectionTools.size(this.scope.entityTables()); >+ List<String> entities = new ArrayList<String>(); > for (Iterator<GenTable> stream = this.scope.entityTables(); stream.hasNext(); ) { > checkCanceled(); >- this.buildEntity(stream.next()); >+ GenTable getTable = stream.next(); >+ this.buildEntity(getTable); > this.monitor.worked(50/size); >+ entities.add(getTable.getEntityName()); > } >+ return entities; > } > > private void checkCanceled() {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 216915
:
88135