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 78387 - Problems with relationships when classes has inner classes with the same name
Summary: Problems with relationships when classes has inner classes with the same name
Status: RESOLVED WORKSFORME
Alias: None
Product: uml
Classification: Unclassified
Component: Reverse Engineering (show other bugs)
Version: 5.x
Hardware: PC Windows XP
: P2 blocker (vote)
Assignee: Trey Spiva
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-19 22:42 UTC by bugbridge
Modified: 2007-07-13 23:30 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-19 22:42:50 UTC
Original submitter: sunflower

Description:
Coke build: 2006.05.09

Steps to reproduce:

- Create a java application
- Add 'pack' package into the java application
- Add 'ListClass' and 'TreeClass' under the package:
  -----------------------------------------------------------
  package pack;
  public class ListClass<Element> {
    
    Node head;
    
    private class Node{

        Node next;
        Element element;
        
        Node(Element element, Node next){
            this.element = element;
            this.next = next;
        }
        
        Element getElement(){
            return element;
        }
        
        Node getNext(){
            return next;
        }
    }
  }


  -----------------------------------------------------------
  -----------------------------------------------------------
  package pack;
  public class TreeClass<Element> {
    
    private Node root;

    private class Node{
        
        Node leftNode;
        Node rightNode;
        Element element;
        
        Node(Element element){
            this.element = element;
        }
        
        Element getElement(){
            return element;
        }
        
        Node getLeftNode(){
            return leftNode;
        }
        
        Node getRightNode(){
            return rightNode;
        }
    }
  }

  -----------------------------------------------------------

- Create UML Reverse Engineering project associated with the java application
- Select 'Model|pack|TreeClass' node under the UML project and invoke
  'Generate Dependency Diagram'
- There is incorrectly relationship between 'TreeClass' and 'Node' from
'ListCLass'  on the class diagram.



Some times 'Node' Datatype is created under UML Model node and incorrectly
relationship between 'TreeClass'
and 'Node' Datatype is shown on the dependency diagram.

This is an exception from IDE log file: 

[org.netbeans.mdr.Logger] INFORMATIONAL *********** Exception occurred
************ at 1:57 PM on May 10, 2006
java.lang.NullPointerException
	at
org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChangeListener.handleTemplateParameterEvent(MetaDataRChangeListener.java:1029)
	at
org.netbeans.modules.uml.integration.netbeans.listeners.MetaDataRChangeListener.plannedChange(MetaDataRChangeListener.java:241)
[catch] at
org.netbeans.mdr.util.EventNotifier$Abstract.firePlannedChange(EventNotifier.java:414)
	at
org.netbeans.mdr.handlers.AttrCollWrapper$AttrIteratorWrapper.remove(AttrCollWrapper.java:183)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.SemiPersistentElement.deleteChildren(SemiPersistentElement.java:973)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.JavaClassImpl._delete(JavaClassImpl.java:1064)
	at org.netbeans.mdr.handlers.InstanceHandler.refDelete(InstanceHandler.java:306)
	at
org.netbeans.modules.javacore.scanning.JavaUpdater.makeIndex(JavaUpdater.java:264)
	at
org.netbeans.modules.javacore.scanning.JavaUpdater.computeIndex(JavaUpdater.java:58)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.directUpdate(ResourceImpl.java:713)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.checkUpToDate(ResourceImpl.java:644)
	at
org.netbeans.modules.javacore.jmiimpl.javamodel.ResourceImpl.updateFromFileObject(ResourceImpl.java:449)
	at
org.netbeans.modules.javacore.ExclusiveMutex.parseIfNeeded(ExclusiveMutex.java:279)
	at org.netbeans.modules.javacore.ExclusiveMutex.enter(ExclusiveMutex.java:171)
	at org.netbeans.mdr.NBMDRepositoryImpl.beginTrans(NBMDRepositoryImpl.java:228)
	at org.netbeans.modules.java.JavaEditor$2.run(JavaEditor.java:259)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:926)
[org.netbeans.mdr.Logger] Invalid element found in attr. collection - removing.
Comment 1 Peter Lam 2007-03-20 23:17:48 UTC
low use case not currently impacting our installed user base.
Comment 2 Viktor Lapitski 2007-07-13 23:30:13 UTC
works ok - Nodes shown as classes and have nested links to their respective owners. 
The "TreeClass.root" points to correct Node class.