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.

View | Details | Raw Unified | Return to bug 29187
Collapse All | Expand All

(-)src/org/netbeans/lib/jmi/mapping/JavaMapper.java (-20 / +40 lines)
Lines 741-783 Link Here
741
        ModelElement element;
741
        ModelElement element;
742
        Collection ancestors = new ArrayList();
742
        Collection ancestors = new ArrayList();
743
        Collection supertypes = objPackage.getSupertypes();
743
        Collection supertypes = objPackage.getSupertypes();
744
        String typeName;
745
        String elementName;
746
747
        for (Iterator it = supertypes.iterator(); it.hasNext();) {
744
        for (Iterator it = supertypes.iterator(); it.hasNext();) {
748
            ancestors.add(tagProvider.getTypeFullName((ModelElement) it.next()) + PACKAGE_POSTFIX);
745
            ancestors.add(tagProvider.getTypeFullName((ModelElement) it.next()) + PACKAGE_POSTFIX);
749
        }
746
        }
750
        if (ancestors.size() == 0) ancestors.add("javax.jmi.reflect.RefPackage");
747
        if (ancestors.size() == 0) ancestors.add("javax.jmi.reflect.RefPackage");
751
        interfaceHeader(tagProvider.getTypePrefix(objPackage), tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX, ancestors.toArray(), objPackage, DOC_PACKAGE);
748
        interfaceHeader(tagProvider.getTypePrefix(objPackage), tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX, ancestors.toArray(), objPackage, DOC_PACKAGE);
752
749
750
        ArrayList nestedPackages = new ArrayList();
751
        ArrayList classes = new ArrayList();
752
        ArrayList associations =  new ArrayList();
753
        ArrayList structureTypes = new ArrayList();
754
        
753
        elements = objPackage.getContents();
755
        elements = objPackage.getContents();
754
        for (Iterator it = elements.iterator(); it.hasNext();) {
756
        for (Iterator it = elements.iterator(); it.hasNext();) {
755
            element = (ModelElement) it.next();
757
            element = (ModelElement) it.next();
756
            typeName = tagProvider.getTypeFullName(element);
757
            elementName = tagProvider.getSubstName(element);
758
            if (element instanceof Association) {
758
            if (element instanceof Association) {
759
                associations.add(element);
759
            } else if (element instanceof javax.jmi.model.MofClass) {
760
            } else if (element instanceof javax.jmi.model.MofClass) {
760
                typeName += CLASS_POSTFIX;
761
                classes.add(element);
761
            } else if (element instanceof MofPackage) {
762
            } else if (element instanceof MofPackage) {
762
                typeName += PACKAGE_POSTFIX;
763
                nestedPackages.add(element);
763
            } else if (element instanceof StructureType) {
764
            } else if (element instanceof StructureType) {
764
                structTemplate(element);
765
                structureTypes.add(element);
765
                continue;
766
            } else if (element instanceof Import) {
766
            } else if (element instanceof Import) {
767
                // addProxyGetter cannot handle Imports, and Imports come first
768
                // in the mapping, so go ahead and just generate the necessary
769
                // method now.
767
                Import imp = (Import) element;
770
                Import imp = (Import) element;
768
                if (imp.isClustered() && imp.getVisibility().equals(VisibilityKindEnum.PUBLIC_VIS)) {
771
                if (imp.isClustered() && VisibilityKindEnum.PUBLIC_VIS.equals(imp.getVisibility())) {
769
                    Namespace namespace = imp.getImportedNamespace();
772
                    Namespace ns = imp.getImportedNamespace();
770
                    if (namespace instanceof MofPackage) {
773
                    if (ns instanceof MofPackage &&
771
                        typeName = tagProvider.getTypeFullName(namespace) + PACKAGE_POSTFIX;
774
                            VisibilityKindEnum.PUBLIC_VIS.equals(((MofPackage) ns).getVisibility())) {
772
                        element = namespace;
775
                        String typeName = tagProvider.getTypeFullName(element) + PACKAGE_POSTFIX;
776
                        String elementName = tagProvider.getSubstName(element);
777
                        interfaceMethod(typeName, "get" + elementName, null, null);
773
                    }
778
                    }
774
                } else {
779
                } else {
775
                    Logger.getDefault().log("import: " + imp.getName() + " mofid: " + imp.refMofId() + " clustered: " + imp.isClustered() + " visibility: " + imp.getVisibility());
780
                    Logger.getDefault().log("import: " + imp.getName() + " mofid: " + imp.refMofId() + " clustered: " + imp.isClustered() + " visibility: " + imp.getVisibility());
776
                    continue;
777
                }
781
                }
778
            } else continue;
782
            }
783
        }
784
785
        addProxyGetter(objPackage, nestedPackages, PACKAGE_POSTFIX);
786
        addProxyGetter(objPackage, classes, CLASS_POSTFIX);
787
        addProxyGetter(objPackage, associations, "");
788
789
        for (Iterator i = structureTypes.iterator(); i.hasNext(); ) {
790
            structTemplate((StructureType) i.next());
791
        }
792
        
793
        interfaceFooter(tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX);
794
    }
779
795
780
            if (((GeneralizableElement) element).getVisibility().equals(VisibilityKindEnum.PUBLIC_VIS)) {
796
    void addProxyGetter(MofPackage objPackage, ArrayList list, String suffix) throws IOException {
797
        for (Iterator i = list.iterator(); i.hasNext(); ) {
798
            GeneralizableElement element = (GeneralizableElement) i.next();
799
            if (VisibilityKindEnum.PUBLIC_VIS.equals(element.getVisibility())) {
781
                String methodComment = null, returnComment = null;
800
                String methodComment = null, returnComment = null;
782
                if (element instanceof Import) {
801
                if (element instanceof Import) {
783
                    methodComment = DOC_PACKAGE_GET_IMPORT;
802
                    methodComment = DOC_PACKAGE_GET_IMPORT;
Lines 792-805 Link Here
792
                    methodComment = DOC_PACKAGE_GET_ASSOC;
811
                    methodComment = DOC_PACKAGE_GET_ASSOC;
793
                    returnComment = DOC_PACKAGE_GET_ASSOC_RETURN;
812
                    returnComment = DOC_PACKAGE_GET_ASSOC_RETURN;
794
                }
813
                }
814
                String typeName = tagProvider.getTypeFullName(element);
815
                String elementName = tagProvider.getSubstName(element);
795
                if (methodComment != null)
816
                if (methodComment != null)
796
                    methodJavaDoc(objPackage, false, methodComment, returnComment, null, null, new String [] {elementName});
817
                    methodJavaDoc(objPackage, false, methodComment, returnComment, null, null, new String [] {elementName});
797
                interfaceMethod(typeName, "get" + elementName, null, null);
818
                interfaceMethod(typeName + suffix, "get" + elementName, null, null);
798
            }
819
            }
799
        }
820
        }
800
801
        interfaceFooter(tagProvider.getSubstName(objPackage) + PACKAGE_POSTFIX);
802
    }
821
    }
822
    
803
823
804
    // generates class for an exception
824
    // generates class for an exception
805
    protected void exceptionTemplate(MofException objException) throws IOException {
825
    protected void exceptionTemplate(MofException objException) throws IOException {

Return to bug 29187