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.
Description: Build Coke Milestone 7. Windows XP. To reproduce: - in project tree drag a class/interface in/out another class/interface BUG: source code isn't updated, and following NPEs in the log or in dialog on move-in (ide log): java.lang.NullPointerException at org.netbeans.modules.javacore.jmiimpl.javamodel.IndentUtil.getGarbage(IndentUtil.java:286) at org.netbeans.modules.javacore.jmiimpl.javamodel.IndentUtil.printHeadGarbage(IndentUtil.java:281) at org.netbeans.modules.javacore.jmiimpl.javamodel.IndentUtil.reformatHeadGarbage(IndentUtil.java:325) at org.netbeans.modules.javacore.jmiimpl.javamodel.FeatureImpl.generateNewModifiers(FeatureImpl.java:467) at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.getRawText(JavaClassImpl.java:802) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getSourceText(MetadataElement.java:728) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getCollectionDiff(MetadataElement.java:898) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getCollectionDiff(MetadataElement.java:796) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getCollectionDiff(MetadataElement.java:791) at org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl.getDiff(JavaClassImpl.java:899) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getElementsDiff(MetadataElement.java:787) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getCollectionDiff(MetadataElement.java:798) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getCollectionDiff(MetadataElement.java:791) at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.getDiff(ResourceImpl.java:1226) at org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.commitChanges(ResourceImpl.java:810) at org.netbeans.modules.javacore.ExclusiveMutex.notifyElements(ExclusiveMutex.java:503) [catch] at org.netbeans.modules.javacore.ExclusiveMutex.leave(ExclusiveMutex.java:358) at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:249) at org.netbeans.mdr.NBMDRepositoryImpl.endTrans(NBMDRepositoryImpl.java:243) at com.sun.tools.ide.uml.integration.netbeans.NBEventProcessor.moveInnerClass(NBEventProcessor.java:3057) at com.sun.tools.ide.uml.integration.netbeans.NBEventProcessor.classChanged(NBEventProcessor.java:1394) at com.sun.tools.ide.uml.integration.ide.RoundTripClassEventsSink$7.work(RoundTripClassEventsSink.java:499) at com.sun.tools.ide.uml.integration.ide.RoundTripSource$RoundtripThread.run(RoundTripSource.java:106) at com.sun.tools.ide.uml.integration.ide.events.EventHandler$1.executeTask(EventHandler.java:72) at com.sun.tools.ide.uml.integration.ide.events.EventHandler$WorkerThread.run(EventHandler.java:275) on move-out (dialog): java.lang.NullPointerException at com.sun.tools.ide.uml.integration.netbeans.NBEventProcessor.moveInnerClass(NBEventProcessor.java:3002) at com.sun.tools.ide.uml.integration.netbeans.NBEventProcessor.classChanged(NBEventProcessor.java:1394) at com.sun.tools.ide.uml.integration.ide.RoundTripClassEventsSink$7.work(RoundTripClassEventsSink.java:499) at com.sun.tools.ide.uml.integration.ide.RoundTripSource$RoundtripThread.run(RoundTripSource.java:106) at com.sun.tools.ide.uml.integration.ide.events.EventHandler$1.executeTask(EventHandler.java:72) [catch] at com.sun.tools.ide.uml.integration.ide.events.EventHandler$WorkerThread.run(EventHandler.java:275) Evaluation: updated with coco_dev SR and REGRESSION according to Coke Bug Filing Convention Evaluation (Entry 2): Seems to be related to Refactoring regression as the code in question is not finding the old or the new source file which is causing the NPE. Perfomring new/clean build env to test refactoring fix on this CR.
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. *** (#8 of 8): 2006-06-15 00:49:48 MSD ---
please dismiss prev uopdate it should be related to 78483
This is still working for me. Need additional details, if possible, on the testing scenario. Maybe provide steps starting with project creation.
Additional steps: - Create a Java project - Create a UML project associated with the Java project - Create a Class diagram - Put Class Element on the diagram and name it 'A' - Put Class Element on the diagram and name it 'B' - Drag and Drop 'B' class element to 'A' element under model tree - Press 'Yes' button on the 'Nested Classes' dialog There is NPE on the message log file. java.lang.NullPointerException at org.netbeans.modules.javacore.jmiimpl.javamodel.IndentUtil.getGarbage(IndentUtil.java:292) at org.netbeans.modules.javacore.jmiimpl.javamodel.IndentUtil.printHeadGarbage(IndentUtil.java:287) at org.netbeans.modules.javacore.jmiimpl.javamodel.IndentUtil.reformatHeadGarbage(IndentUtil.java:331) at org.netbeans.modules.javacore.jmiimpl.javamodel.FeatureImpl.generateNewModifiers(FeatureImpl.java:479) The bug is still reproduced in NetBeans 5.5 Beta 2 (Build 200607190830). See attached message.log file.
Created attachment 32093 [details] message.log file
- Do the previous steps - Select Parent class, right-click and invoke 'Navigate to Source' from popup menu The exception pops up: java.lang.IllegalStateException: The model was modified. Unable to return start offset. at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.testResourceChange(MetadataElement.java:1191) at org.netbeans.modules.javacore.jmiimpl.javamodel.MetadataElement.getStartOffset(MetadataElement.java:1202) at org.netbeans.modules.uml.integration.netbeans.NBSourceNavigator.showSourceFile(NBSourceNavigator.java:246) See attached message.log file.
Created attachment 32094 [details] message.log file
Just needed some null checks here and there and a method that should have been static, made to be so and used to get an instance of the static member it was to retrieve instead of a raw usage of the static member (which was null).
Files affected: uml/ideintegration/src/org/netbeans/modules/uml/integration/ide/UMLSupport.java uml/ideintegration/src/org/netbeans/modules/uml/integration/netbeans/NBEventProcessor.java
class is not renamed after subsequent renames when java application is bound to a uml project
If you do not have the generalization, everything works correctly. The problem is that the package is being changed, therefore a super class change event is being sent. With this information we have determined that this issues is a duplicate of 78483. *** This issue has been marked as a duplicate of 78483 ***
Hi tspiva, Please, do not mark the issue as duplicate of another if they have the different steps to reproduce and the different exceptions in stack traces. Please, mark such bugs as RESOLVED FIXED. Also please, read the steps fom Additional comments of Fri Jul 21 12:45:34 and message.log file from Additional comments of Fri Jul 21 12:47:54. There are no any mentions about generalization in these stepse.
That should not be the case. If we determine that two issues follow the same code path, they are duplicates. By marking an issue as a duplicate allows development and QA to make sure that both senerios should be tested. *** This issue has been marked as a duplicate of 78483 ***
The bug is reproduced in NetBeans 5.5 Beta 2 (Build 20060730) in spite of the issue 78483 is resolved. See attached message.log file.
Created attachment 32435 [details] message.log file
We get the NPE only when we move classes in the DEFAULT PACKAGE. It works fine if the classes are in a different package. Need to figure out if the root cause is a netbeans issue.
I came to the same result as when I was using nested link from the diagram to nest classes/interfaces. So, this is a duplicate of 78520. *** This issue has been marked as a duplicate of 78520 ***