This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 68786 - New project wizard should show a progress bar when creation projects
Summary: New project wizard should show a progress bar when creation projects
Status: VERIFIED FIXED
Alias: None
Product: projects
Classification: Unclassified
Component: Generic Projects UI (show other bugs)
Version: 5.x
Hardware: PC All
: P2 blocker (vote)
Assignee: Jiri Rechtacek
URL:
Keywords: PERFORMANCE
Depends on: 58889
Blocks: 73274
  Show dependency tree
 
Reported: 2005-11-16 09:56 UTC by Petr Blaha
Modified: 2006-10-23 16:40 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Blaha 2005-11-16 09:56:13 UTC
[Beta2 build]
I mounted via Samba network drive on Win XP box and then created new J2EE
application on this new drive. Creation of the new project takes about 2
minutes. The issue was originally reported by customer of JES.
Comment 1 Marek Fukala 2005-11-19 13:10:53 UTC
Is the problem really EAR project specific? Doesn't the same happen of java,
ejb, web projects? I wonder why EAR should be slower (when I do not take into
account that the EAR created EJB+WEB project by default). Can you verify this?
Anyway it would be very useful to have a kind of generic progress bar for
projects creation/import like for project opening.
Comment 2 Petr Blaha 2005-11-21 08:58:42 UTC
I performed simple performance measurement of all supported projects. I measured
opening time for these projects.
Configuration: NetBeans 5.0 beta 2 build, projects are created in network drive
that is shared via Samba
|project | duration  [min:s]  |
------------------------------
J2SE     |     24.53          |
------------------------------
Web      |   1:02.49          |
------------------------------
EJB      |     44.46          |
------------------------------
EAR      |   2:26.48          |
------------------------------

Enterprise project opening time is approximately sum of times for EJB and web
module creation. Strange is time for web project. I guess that time for web and
EJB should be similar because these projects have similar structure (similar
count of DDs, ...). Maybe, the the web project is good candidate for performance
tuning. However, I'm afraid this changes can't be done in NetBeans 5.0 time frame.
I agree the progress bar can improve user's conceive during creation the EAR
project.
Comment 3 Marek Fukala 2005-11-23 10:05:20 UTC
From the provided data it is clear that the project creation is a problem for
all project types. If the projects are created on a local drive, the times are
better, but it is still very slow and blocks the UI.

IMHO the problem should be solved in the wizards in a generic way so:
1) the creation code doesn't run in AWT
2) there is a progress bar like in projects opening

I was told that Jirka Rechtacek has been already working on it so reassigning to
him. Jirko, do you think this is feasible in 5.0?
Comment 4 Jan Chalupa 2005-11-23 13:34:01 UTC
Sorry, but I can't see how moving something from the AWT or showing a progress
bar can make things faster. It *can* improve the perception and user experience,
but it can't fix the originally reported problem "Creation of J2EE app takes
very long on network drive" (up to 2:20 minutes for a simple EAR project).

Please clarify.
Comment 5 Jiri Rechtacek 2005-11-24 15:08:22 UTC
There are issues assigned to Wizard API:
- issue 62161: New file type wizard instantiate is slow and run in EDT
It could be solved in NB5.0, file a API review about this change. The AWT won't
be frozen while instantiate() runs. API client can write into the error message
in wizard panel.

- 58889: Enhance wizard framework to display progress indication on Finish
Cannot be solved in NB5.0, to late after UI/Doc freeze.

Marek, please answer jchalupa's question if this change would speed up
processing new J2EE app and optionaly make a dependency of some issues above.
Comment 6 Marek Fukala 2005-11-24 16:21:59 UTC
Of cource that rescheduling project creation from EDT will not speed it up :-).
I was talking about the perception of the project creation. Having the UI frozen
for for a minute is not a good repute. The problem is not in the time, but in
the fact that the UI is frozen and there isn't any progress shown. At least the
indeterminate progressbar would be great.

The issue itself is a kind of "invalid" since it is obvious that doing anything
with IO on network is slower that doing the same on local disk. We can probably
get the times down a little but it's not the problem, at least from my point of
view.

So please, go ahead and implement a kind of progress into the wizards as you
have already told me Jirko. 

Thanks guys, I will try to be more precise in my comments next time ;-)
Comment 7 Jan Chalupa 2005-11-24 16:35:50 UTC
I'd still argue that the original bug report was about new J2EE app creation
taking too long. There was nothing about UI blocking or lack of progress
indication (although I do agree it's not nice at all either).

Anyway, only part of the problem can be solved in the project wizard. A
significant part of the project creation still occurs outside of the wizard. As
Jirka mentioned, the instantiate() part can be moved out of AWT (issue #62161).
Adding progress (issue #58889) to the wizard panel would be difficult in 5.0.
Yet, this would still cover just a (smaller) part of the project creation.
Comment 8 Jiri Rechtacek 2006-08-06 19:01:54 UTC
The wizard's infrastructure has been implemented since Wizards API, 7.1. The API
clients can use a progress bar integrated into wizards panels.

New Java Application Project (NewJ2SEProjectWizardIterator) does a reference
implementation of this new support in Wizards API. Wizards client can implement
this by their point of view.

Checking in nbproject/project.xml;
/shared/data/ccvs/repository/java/j2seproject/nbproject/project.xml,v  <-- 
project.xml
new revision: 1.27; previous revision: 1.26
done
Checking in
src/org/netbeans/modules/java/j2seproject/ui/wizards/NewJ2SEProjectWizardIterator.java;
/shared/data/ccvs/repository/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/wizards/NewJ2SEProjectWizardIterator.java,v
 <--  NewJ2SEProjectWizardIterator.java
new revision: 1.31; previous revision: 1.30
done
Checking in src/org/netbeans/modules/java/j2seproject/ui/wizards/Bundle.properties;
/shared/data/ccvs/repository/java/j2seproject/src/org/netbeans/modules/java/j2seproject/ui/wizards/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.50; previous revision: 1.49
done
Comment 9 Marian Mirilovic 2006-08-08 06:42:34 UTC
verified in NB dev (2006071800)