Steps to reproduce:
1. Create 2 JSP files.
2. Select these JSP's in Explorer.
3. Note, that <Different Values> displayed as Name in
4. Click on "..." button for Name property.
Result: JSP name for 1st selected JSP changed
to "<Different Values>".
Reproduced with Nevada 030512 under Linux & Solaris.
I observed different behaviour: an exception is thrown when customizer
is opened. Nothing is renamed. Also it is the same for Java files so
it doesn't seems to be a problem in web module. Tim, can you look into
I'd say if the files are getting renamed, that may be worthy of fixing
in 3.5 (the use case for opening the name customizer when
multiple items are selected is questionable anyway). In 4.0, there
will be no customizer button for DataObject names, so this is
already effectively fixed in the NetBeans trunk.
Probably customizers should be disabled when multiple objects are
selected - there's no useful value they can display. That's a
pretty easy thing to fix in ProxyNode if necessary.
I don't think we need a fix for 3.5/S1S5.
Renaming two files at once isn't "common" action, but it isn't good if
you push "Cancel" button and first file is renamed.
I propose to decrease priority to P3, or ask for waiver.
The question remains what *should* be the behavior of
invoking a custom editor when there are multiple items
selected. Should this even be possible?
The property sheet knows about the package-private
DifferentValuesException thrown when you call getValue()
and two nodes with different values are selected.
This exception (along with ProxyNode which throws it)
are package-private to the Explorer class, and the
property sheet is designed to handle this condition.
Custom editors do not know about such a state, so
their behavior is pretty much undefined. Since the
custom editor only allows one value to be selected
and doesn't know about multiple values for one property,
it is not surprising that the property value of all
selected nodes is forced to a single value when the
custom editor is invoked.
This issue can also be reproduced as follows:
- Set one file to internal execution
- Set another to external
- Select them both
- Open and cancel the execution custom editor
Both now are set to external execution
I propose a relatively easy, one-line fix - proxied
properties with different values shall not display the custom editor
I can't think of any places this could cause a problem.
I have implemented this in the new property sheet branch,
and am adding a dependancy on the property sheet rewrite
I thing, it's not necessary fix it for 3.5/S1S5.
Trung, Honza: what do you think ?
I would leave it to QA to decide whether or not we want to fix it in
Tim, pls fix it in trunk so we'll be prepared
I don't think this is a showstopper. IMO, renaming multiple files
simultaneously using this approach is a very unlikely user scenario.
Moreover, this is not the kind of problem users would run into repeatedly.
Too late to fix this in release35. Please put the fix into trunk only.
Should be waived for S1S5.
Technically, the name property issue is already
fixed, since property editors for DataNode names now suppress the
custom editor button - see issue 33296.
The more general fix for all customizers is already in the
PropertySheet branch - I'll mark this issue fixed once we merge it.
Setting target to 4.0 and dropping priority to P3.
Fixed - new property sheet committed.
Custom editor button now suppressed for multi-selection.
Verified. But some problems still exist. See bug 34982