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 78483 - Superclass renaming in src removes generalization link from model
Summary: Superclass renaming in src removes generalization link from model
Status: VERIFIED FIXED
Alias: None
Product: uml
Classification: Unclassified
Component: Synchronization (show other bugs)
Version: 5.x
Hardware: PC Windows XP
: P2 blocker (vote)
Assignee: Kris Richards
URL:
Keywords: REGRESSION
: 80833 (view as bug list)
Depends on: 78474 78475
Blocks:
  Show dependency tree
 
Reported: 2006-06-20 10:37 UTC by bugbridge
Modified: 2006-08-31 02:29 UTC (History)
1 user (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 bugbridge 2006-06-20 10:37:06 UTC
Description:
How to reproduce:
- create java project and related uml project
- create class diagram
- put two classes on diagram and name them.
- add generalization link from one class to another
- open src for superclass
- rename superclass in src using refactoring.
BUG: generalization link is removed from diagram and from model.

Evaluation:
I noticed that the SourceFile name under the superclass' UML element node in the
tree is still referring to the old name. I've seen this before in bugs that are
supposedly fixed.
Comment 1 Sergey Petrov 2006-06-20 10:45:14 UTC
this bug exists in earlier coke builds,
but is a regression from buzz.
*** (#1 of 8): 2006-05-06 16:21:35 MSD ----

reproducible in tpr2
*** (#2 of 8): 2006-05-06 16:39:58 MSD ----

I noticed that the SourceFile name under the superclass' UML element node in the
tree is still referring to the old name. However, if you rename the class back
to its original name, the source file name under the superclass' UML element
node is now updated to the previously new name. For example:

In Java project/sources:
- ClassA
- ClassB extends ClassA

And in UML project
- ClassA
  - Generalization (ClassB extends ClassA)
  - sourcfile: ClassA
- ClassB
  - Generalization (ClassB extends ClassA)

*** Refactor->Rename ClassA in Java project source to ClassZ

Now, we have in Java project/sources:
In Java project/sources:
- ClassZ
- ClassB extends ClassZ

And now, in UML project
- ClassZ
  - sourcfile: ***ClassA***
- ClassB
  - sourcefile: ClassB

*** Refactor->Rename ClassZ back to orignal name ClassA

Now, we have in Java project/sources:
In Java project/sources:
- ClassA
- ClassB extends ClassA

And now, in UML project
- ClassA
  - sourcfile: ***ClassZ***
- ClassB
  - sourcefile: ClassB

Note: The sourcefile for the superclass in the UML project is always behind by
one update.

If you do one more Refactor->Rename on the superclass, the Java source file for
the superclass gets updated, but the Java class node representing doesn't get
updated and has the error that the source file name should be the same as the
public class name.
*** (#3 of 8): 2006-06-13 21:01:04 MSD ----
*** Last Edit: 2006-06-13 21:13:58 MSD ----

When the sourcecode gets screwed up, these exceptions occur:

[org.netbeans.javacore] INFORMATIONAL *********** Exception occurred ***********
* at 10:42 AM on Jun 13, 2006
java.lang.Exception: ***** Info is null for element: foo/ClassB.java (instanceof
: org.netbeans.jmi.javamodel.Resource$Impl MOFID: 01B56F75-FAFF-11DA-A1E4-714257
36AA77:0000000000000A07)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.getElementInfo(SemiPersistentElement.java:193)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.initChil
dren(ResourceImpl.java:322)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.initChil
dren(ResourceImpl.java:316)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.getElementInfo(SemiPersistentElement.java:185)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChi
ldren(JavaClassImpl.java:693)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.TransientElement.getA
STree(TransientElement.java:65)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MultipartIdImpl.getEl
ement(MultipartIdImpl.java:129)
        at org.netbeans.jmi.javamodel.MultipartId$Impl.getElement(Unknown Source
)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.handleSuperClassChange(MetaDataRChangeListener.java:380)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.plannedChange(MetaDataRChangeListener.java:247)
        at org.netbeans.mdr.util.EventNotifier$Abstract.firePlannedChange(EventN
otifier.java:414)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:91)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:78)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.fireSCN
ameChange(JavaClassImpl.java:259)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.setSupe
rClass(JavaClassImpl.java:288)
        at org.netbeans.jmi.javamodel.JavaClass$Impl.setSuperClass(Unknown Sourc
e)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.matchPe
rsistent(JavaClassImpl.java:575)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.matchMember(SemiPersistentElement.java:650)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.processMembers(SemiPersistentElement.java:541)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.matchPer
sistent(ResourceImpl.java:206)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.updateMe
tadata(ResourceImpl.java:761)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.resetAST
(ResourceImpl.java:523)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.parseRes
ource(ResourceImpl.java:901)
        at org.netbeans.modules.javacore.ExclusiveMutex.notifyElements(Exclusive
Mutex.java:524)
        at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:358)
        at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
249)
        at org.netbeans.modules.refactoring.api.RefactoringSession.doRefactoring
(RefactoringSession.java:72)
        at org.netbeans.modules.refactoring.ui.RefactoringPanel$1.run(Refactorin
gPanel.java:588)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493)

        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:926)
[org.netbeans.javacore] isChanged: true, alreadyChecking: true
[org.netbeans.javacore] isValid: true
[org.netbeans.javacore] alreadyChecking stacktrace:
[org.netbeans.javacore] INFORMATIONAL *********** Exception occurred ***********
* at 10:42 AM on Jun 13, 2006
java.lang.RuntimeException
[catch] at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.resetAST
(ResourceImpl.java:501)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.parseRes
ource(ResourceImpl.java:901)
        at org.netbeans.modules.javacore.ExclusiveMutex.notifyElements(Exclusive
Mutex.java:524)
        at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:358)
        at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
249)
        at org.netbeans.modules.refactoring.api.RefactoringSession.doRefactoring
(RefactoringSession.java:72)
        at org.netbeans.modules.refactoring.ui.RefactoringPanel$1.run(Refactorin
gPanel.java:588)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493)

        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:926)
java.lang.IllegalStateException: Recursive call to getElementInfo()
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.getElementInfo(SemiPersistentElement.java:201)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.initChil
dren(ResourceImpl.java:322)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.initChil
dren(ResourceImpl.java:316)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.getElementInfo(SemiPersistentElement.java:185)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChi
ldren(JavaClassImpl.java:693)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.TransientElement.getA
STree(TransientElement.java:65)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MultipartIdImpl.getEl
ement(MultipartIdImpl.java:129)
        at org.netbeans.jmi.javamodel.MultipartId$Impl.getElement(Unknown Source
)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.handleSuperClassChange(MetaDataRChangeListener.java:380)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.plannedChange(MetaDataRChangeListener.java:247)
        at org.netbeans.mdr.util.EventNotifier$Abstract.firePlannedChange(EventN
otifier.java:414)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:91)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:78)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.fireSCN
ameChange(JavaClassImpl.java:259)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.setSupe
rClass(JavaClassImpl.java:288)
        at org.netbeans.jmi.javamodel.JavaClass$Impl.setSuperClass(Unknown Sourc
e)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.matchPe
rsistent(JavaClassImpl.java:575)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.matchMember(SemiPersistentElement.java:650)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.processMembers(SemiPersistentElement.java:541)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.matchPer
sistent(ResourceImpl.java:206)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.updateMe
tadata(ResourceImpl.java:761)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.resetAST
(ResourceImpl.java:523)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.parseRes
ource(ResourceImpl.java:901)
        at org.netbeans.modules.javacore.ExclusiveMutex.notifyElements(Exclusive
Mutex.java:524)
        at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:358)
        at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
249)
        at org.netbeans.modules.refactoring.api.RefactoringSession.doRefactoring
(RefactoringSession.java:72)
        at org.netbeans.modules.refactoring.ui.RefactoringPanel$1.run(Refactorin
gPanel.java:588)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493)

        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:926)
[org.netbeans.javacore] INFORMATIONAL *********** Exception occurred ***********
* at 10:42 AM on Jun 13, 2006
java.lang.Exception: rollback!!!
        at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:339)
        at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
249)
        at org.netbeans.mdr.handlers.BaseObjectHandler._unlock(BaseObjectHandler
.java:227)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChi
ldren(JavaClassImpl.java:761)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.TransientElement.getA
STree(TransientElement.java:65)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MultipartIdImpl.getEl
ement(MultipartIdImpl.java:129)
        at org.netbeans.jmi.javamodel.MultipartId$Impl.getElement(Unknown Source
)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.handleSuperClassChange(MetaDataRChangeListener.java:380)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.plannedChange(MetaDataRChangeListener.java:247)
        at org.netbeans.mdr.util.EventNotifier$Abstract.firePlannedChange(EventN
otifier.java:414)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:91)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:78)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.fireSCN
ameChange(JavaClassImpl.java:259)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.setSupe
rClass(JavaClassImpl.java:288)
        at org.netbeans.jmi.javamodel.JavaClass$Impl.setSuperClass(Unknown Sourc
e)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.matchPe
rsistent(JavaClassImpl.java:575)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.matchMember(SemiPersistentElement.java:650)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.processMembers(SemiPersistentElement.java:541)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.matchPer
sistent(ResourceImpl.java:206)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.updateMe
tadata(ResourceImpl.java:761)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.resetAST
(ResourceImpl.java:523)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.parseRes
ource(ResourceImpl.java:901)
        at org.netbeans.modules.javacore.ExclusiveMutex.notifyElements(Exclusive
Mutex.java:524)
        at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:358)
        at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:
249)
        at org.netbeans.modules.refactoring.api.RefactoringSession.doRefactoring
(RefactoringSession.java:72)
        at org.netbeans.modules.refactoring.ui.RefactoringPanel$1.run(Refactorin
gPanel.java:588)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493)

        at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java
:926)
[org.netbeans.mdr.Logger] INFORMATIONAL *********** Exception occurred *********
*** at 10:42 AM on Jun 13, 2006
java.lang.IllegalStateException: Recursive call to getElementInfo()
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.getElementInfo(SemiPersistentElement.java:201)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.initChil
dren(ResourceImpl.java:322)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.initChil
dren(ResourceImpl.java:316)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.getElementInfo(SemiPersistentElement.java:185)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.initChi
ldren(JavaClassImpl.java:693)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.initC
heck(MetadataElement.java:140)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.TransientElement.getA
STree(TransientElement.java:65)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.MultipartIdImpl.getEl
ement(MultipartIdImpl.java:129)
        at org.netbeans.jmi.javamodel.MultipartId$Impl.getElement(Unknown Source
)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.handleSuperClassChange(MetaDataRChangeListener.java:380)
        at org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChan
geListener.plannedChange(MetaDataRChangeListener.java:247)
[catch] at org.netbeans.mdr.util.EventNotifier$Abstract.firePlannedChange(EventN
otifier.java:414)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:91)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.fireAttrChange(SemiPersistentElement.java:78)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.fireSCN
ameChange(JavaClassImpl.java:259)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.setSupe
rClass(JavaClassImpl.java:288)
        at org.netbeans.jmi.javamodel.JavaClass$Impl.setSuperClass(Unknown Sourc
e)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.matchPe
rsistent(JavaClassImpl.java:575)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.matchMember(SemiPersistentElement.java:650)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.processMembers(SemiPersistentElement.java:541)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.matchPer
sistent(ResourceImpl.java:206)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement
.updatePersistent(SemiPersistentElement.java:364)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.updateMe
tadata(ResourceImpl.java:761)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.resetAST
(ResourceImpl.java:523)
        at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.parseRes
ource(ResourceImpl.java:901)
        at org.netbeans.modules.javacore.ExclusiveMutex.notifyElements(Exclusive
Mutex.java:524)
        at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.jav
a:358)
        at
*** (#4 of 8): 2006-06-13 21:43:58 MSD ----

handleClassNameChangeEvent gets invoked twice. The first time, the source of the
event is a JavaClass object that can be used to construct a ClassInfo object
which the current (old) source filename is set to that. 

Then NBUtils.update gets called and another handleClassNameChangeEvent gets
invoked and this time the source of the event is a MultipartId. Not sure what
this is, but it contains the old and new name of the class being renamed, but it
can not be used to create a ClassInfo and therefore, nothing is done with it.

Not really sure this is the issue though, but worth noting for future reference.
*** (#5 of 8): 2006-06-13 23:41:18 MSD ----

As Trey recommended, I tried Refactor->Rename a class without it being extended.
The UML elements stay up to date properly in this scenario. Perhaps a debugging
of this scenario will reveal where the other scenario is breaking down.
*** (#6 of 8): 2006-06-13 23:46:08 MSD ----

I was mistaken... renaming a class in the java project does NOT properly rename
the source file artifact under the Class element in the UML project. This is
probably the fundamental issue. This didn't work right in JSE8, either.
*** (#7 of 8): 2006-06-14 23:45:56 MSD ----

In deed, the sourcefile name under the Class element in the UML tree did need to
get updated. For whatever reason, it wasn't and a simple
setFilename/setSymbolFilename invocation just after the class renaming itself
seems to not only fix the Navigate to Source issue, but also this issue.

However, this fix doesn't seem to be consistent, nor does the actual results of
any testing with Refactoring. It seems that a single test can result in a couple
different outcomes, whether they are right or wrong, from one IDE restart to the
next.
Comment 2 Craig Conover 2006-06-21 19:07:02 UTC
A fix has been found for the dependent issue 78475. That means that this bug is
partially fixed. There is still some refreshing issues for the subclass in the
diagram as well as the nodes in the UML project tree.

A hacky workaround would be to do a source code mod for the subclass or a model
element mod which causes the model and source code to sync up and the diagrams
and nodes to refresh. A solution for this will be looked into next.
Comment 3 Craig Conover 2006-06-22 00:55:53 UTC
Is possible even if this is fixed, issue 78474 will be required for this the
diagram to refresh it's affected elements.
Comment 4 Craig Conover 2006-07-27 01:04:00 UTC
Catching the IllegalStateException, and carry on because the Element that is
being sought is long been changed to another name. This allows the refactoring
to continue and rename the source files as needed. Also, the generalization
remains in tact in the UML diagram.
Comment 5 Craig Conover 2006-07-27 01:06:34 UTC
*** Issue 80833 has been marked as a duplicate of this issue. ***
Comment 6 Craig Conover 2006-07-27 02:21:51 UTC
Files affected:
uml/ideintegration/src/org/netbeans/modules/uml/integration/netbeans/listeners/MetaDataRChangeListener.java
Comment 7 Trey Spiva 2006-07-28 17:21:51 UTC
The refactoring either hangs or does not rename the file.
Comment 8 Trey Spiva 2006-07-28 18:26:30 UTC
*** Issue 78480 has been marked as a duplicate of this issue. ***
Comment 9 Kris Richards 2006-07-28 23:16:27 UTC
in the handleSuperClassChange:

We only want to respond to this event if the user is actually changing
 this super class. We do not want to respond to the case when the user
 refactor the superclass. In this case we change the superclass element
 and the associations move automatically. This is the explanation of the 
 oldMPID.equals(newMPID) == false condition.
Comment 10 Trey Spiva 2006-07-31 16:34:22 UTC
*** Issue 78480 has been marked as a duplicate of this issue. ***
Comment 11 Alexandr Scherbatiy 2006-08-02 10:25:16 UTC
Verified in NetBeans 5.5 Beta 2 (Build 20060730)