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 77285 Details for
Bug 181816
Entity Generation should have progress bar
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
proposed patch - 1_0_maintenance stream
181816.txt (text/plain), 11.31 KB, created by
Karen Butzke
on 2007-08-29 14:54:16 EDT
(
hide
)
Description:
proposed patch - 1_0_maintenance stream
Filename:
MIME Type:
Creator:
Karen Butzke
Created:
2007-08-29 14:54:16 EDT
Size:
11.31 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jpt.ui >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.2.2.1 >diff -u -r1.2.2.1 EntitiesGenerator.java >--- src/org/eclipse/jpt/ui/internal/generic/EntitiesGenerator.java 29 Aug 2007 17:38:21 -0000 1.2.2.1 >+++ src/org/eclipse/jpt/ui/internal/generic/EntitiesGenerator.java 29 Aug 2007 18:48:01 -0000 >@@ -9,7 +9,6 @@ > *******************************************************************************/ > package org.eclipse.jpt.ui.internal.generic; > >-import java.lang.reflect.InvocationTargetException; > import java.util.Collection; > import org.eclipse.core.resources.ResourcesPlugin; > import org.eclipse.core.resources.WorkspaceJob; >@@ -18,10 +17,8 @@ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.OperationCanceledException; > import org.eclipse.core.runtime.Status; >-import org.eclipse.core.runtime.jobs.Job; > import org.eclipse.jface.dialogs.Dialog; > import org.eclipse.jface.dialogs.IDialogConstants; >-import org.eclipse.jface.operation.IRunnableWithProgress; > import org.eclipse.jface.viewers.IStructuredSelection; > import org.eclipse.jface.window.Window; > import org.eclipse.jface.wizard.WizardDialog; >@@ -41,9 +38,6 @@ > import org.eclipse.swt.widgets.Display; > import org.eclipse.swt.widgets.Label; > import org.eclipse.swt.widgets.Shell; >-import org.eclipse.ui.PlatformUI; >-import org.eclipse.ui.actions.WorkspaceModifyOperation; >-import org.eclipse.ui.progress.IProgressService; > > /** > * EntitiesGenerator >@@ -116,7 +110,7 @@ > IJpaProject project, > EntityGenerator.OverwriteConfirmer overwriteConfirmer > ) { >- super("Generating Entities"); >+ super(JptUiMessages.EntitiesGenerator_jobName); > this.packageConfig = packageConfig; > this.entityConfig = entityConfig; > this.selectedTables = selectedTables; >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 Aug 2007 18:48:01 -0000 >@@ -77,3 +77,5 @@ > > OverwriteConfirmerDialog_title=Overwrite Existing Class > OverwriteConfirmerDialog_text=Overwrite source code for the class ''{0}''? >+ >+EntitiesGenerator_jobName=Generating Entities >\ No newline at end of file >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 Aug 2007 18:48:01 -0000 >@@ -144,6 +144,7 @@ > > public static String OverwriteConfirmerDialog_text; > >+ public static String EntitiesGenerator_jobName; > > private JptUiMessages() { > throw new UnsupportedOperationException(); >#P org.eclipse.jpt.gen >Index: src/org/eclipse/jpt/gen/internal/GenScope.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/GenScope.java,v >retrieving revision 1.1 >diff -u -r1.1 GenScope.java >--- src/org/eclipse/jpt/gen/internal/GenScope.java 25 Apr 2007 20:25:43 -0000 1.1 >+++ src/org/eclipse/jpt/gen/internal/GenScope.java 29 Aug 2007 18:48:03 -0000 >@@ -41,14 +41,20 @@ > > private void initialize(Collection<Table> tables, EntityGenerator.Config entityConfig, IProgressMonitor monitor) { > this.progressMonitor = monitor; >- this.buildGenTables(tables, entityConfig); >- checkCanceled(); >- this.configureManyToManyRelations(); >- checkCanceled(); >- this.configureManyToOneRelations(); >- checkCanceled(); >- this.configureFieldNames(); >- checkCanceled(); >+ try { >+ this.progressMonitor.beginTask("", 1000); >+ this.buildGenTables(tables, entityConfig); >+ checkCanceled(); >+ this.configureManyToManyRelations(); >+ checkCanceled(); >+ this.configureManyToOneRelations(); >+ checkCanceled(); >+ this.configureFieldNames(); >+ checkCanceled(); >+ } >+ finally { >+ this.progressMonitor.done(); >+ } > } > > private void buildGenTables(Collection<Table> tables, EntityGenerator.Config entityConfig) { >@@ -57,7 +63,7 @@ > Set<String> entityNames = new HashSet<String>(size); > for (Table table : tables) { > this.buildGenTable(table, entityConfig, entityNames); >- this.progressMonitor.worked(40/size); >+ this.progressMonitor.worked(50/size); > } > } > >@@ -75,7 +81,7 @@ > for (Iterator<GenTable> stream = this.tables(); stream.hasNext(); ) { > checkCanceled(); > stream.next().configureManyToManyRelations(); >- this.progressMonitor.worked(730/tablesSize); >+ this.progressMonitor.worked(750/tablesSize); > } > // revert any "join" table that is referenced by another table back to an "entity" table > Set<GenTable> referencedTables = this.buildReferencedTables(); >@@ -85,7 +91,7 @@ > if (referencedTables.contains(joinGenTable)) { > joinGenTable.clearJoinTableRelation(); > } >- this.progressMonitor.worked(40/tablesSize); >+ this.progressMonitor.worked(50/tablesSize); > } > } > >@@ -167,7 +173,7 @@ > Set<GenTable> referencedTables = new HashSet<GenTable>(this.genTables.size()); > for (Iterator<GenTable> stream = this.tables(); stream.hasNext(); ) { > stream.next().addReferencedTablesTo(referencedTables); >- this.progressMonitor.worked(20/size); >+ this.progressMonitor.worked(50/size); > } > return referencedTables; > } >Index: src/org/eclipse/jpt/gen/internal/EntityGenerator.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/EntityGenerator.java,v >retrieving revision 1.2.2.1 >diff -u -r1.2.2.1 EntityGenerator.java >--- src/org/eclipse/jpt/gen/internal/EntityGenerator.java 28 Aug 2007 04:09:29 -0000 1.2.2.1 >+++ src/org/eclipse/jpt/gen/internal/EntityGenerator.java 29 Aug 2007 18:48:03 -0000 >@@ -21,6 +21,7 @@ > import java.util.Set; > import java.util.TreeSet; > import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.core.runtime.SubProgressMonitor; > import org.eclipse.jdt.core.IJavaModelStatusConstants; > import org.eclipse.jdt.core.IPackageFragment; > import org.eclipse.jdt.core.JavaModelException; >@@ -79,11 +80,16 @@ > // ********** code gen ********** > > private void generateEntity() { >+ int totalWork = pkClassIsGenerated() ? 40 : 20; > try { >+ this.monitor.beginTask("", totalWork); > this.generateEntity_(); > } catch (JavaModelException ex) { > throw new RuntimeException(ex); > } >+ finally { >+ this.monitor.done(); >+ } > } > > private void generateEntity_() throws JavaModelException { >@@ -92,15 +98,16 @@ > if (this.pkClassIsGenerated()) { > this.generateSourceFile(this.pkClassName, this.pkName() + ".java", this.buildSource(this.buildPKBodySource())); > } >+ > } > > private void generateSourceFile(String className, String fileName, String source) throws JavaModelException { > try { >- this.packageFragment.createCompilationUnit(fileName, source, false, this.monitor); >+ this.packageFragment.createCompilationUnit(fileName, source, false, new SubProgressMonitor(this.monitor, 10)); > } catch (JavaModelException ex) { > if (ex.getJavaModelStatus().getCode() == IJavaModelStatusConstants.NAME_COLLISION) { > if (this.overwriteConfirmer.overwrite(className)) { >- this.packageFragment.createCompilationUnit(fileName, source, true, this.monitor); >+ this.packageFragment.createCompilationUnit(fileName, source, true, new SubProgressMonitor(this.monitor, 0)); > } > } else { > throw ex; >@@ -117,6 +124,7 @@ > PrintWriter pw = new PrintWriter(sw); > this.printPackageAndImportsOn(pw, bodySource); > pw.print(bodySource.source()); >+ this.monitor.worked(10); > return sw.toString(); > } > >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 Aug 2007 18:48:03 -0000 >@@ -13,6 +13,7 @@ > import java.util.Iterator; > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.core.runtime.OperationCanceledException; >+import org.eclipse.core.runtime.SubProgressMonitor; > import org.eclipse.jdt.core.IPackageFragment; > import org.eclipse.jpt.db.internal.Table; > import org.eclipse.jpt.gen.internal.EntityGenerator.OverwriteConfirmer; >@@ -28,14 +29,19 @@ > private final OverwriteConfirmer overwriteConfirmer; > private final IProgressMonitor monitor; > >- > // ********** public API ********** > > public static void 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(); >+ try { >+ monitor.beginTask("", 1000); >+ new PackageGenerator(config, entityConfig, tables, overwriteConfirmer, monitor).generateEntities(); >+ } >+ finally { >+ monitor.done(); >+ } > } > > >@@ -45,7 +51,7 @@ > super(); > this.config = config; > this.entityConfig = entityConfig; >- this.scope = new GenScope(tables, entityConfig, monitor); >+ this.scope = new GenScope(tables, entityConfig, new SubProgressMonitor(monitor, 800)); > this.overwriteConfirmer = overwriteConfirmer; > this.monitor = monitor; > } >@@ -54,11 +60,11 @@ > // ********** generation ********** > > private void generateEntities() { >- int size = CollectionTools.size(this.scope.entityTables()); >+ int size = this.scope.numEntityTables(); >+ int ticks = 200/size; > for (Iterator<GenTable> stream = this.scope.entityTables(); stream.hasNext(); ) { > checkCanceled(); >- this.buildEntity(stream.next()); >- this.monitor.worked(50/size); >+ this.buildEntity(stream.next(), new SubProgressMonitor(this.monitor, ticks)); > } > } > >@@ -69,8 +75,8 @@ > } > > >- private void buildEntity(GenTable genTable) { >- EntityGenerator.generateEntity(this.entityConfig, this.config.getPackageFragment(), genTable, overwriteConfirmer, this.monitor); >+ private void buildEntity(GenTable genTable, IProgressMonitor monitor) { >+ EntityGenerator.generateEntity(this.entityConfig, this.config.getPackageFragment(), genTable, overwriteConfirmer, monitor); > } > >
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 181816
: 77285