Revision 360

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/dynobject/impl/DefaultDynObjectManager.java
640 640
        return new DefaultDynClassName(name);
641 641
    }
642 642

  
643
    public Iterator iterator(String namespace) {
643
    public Iterator iterator(String nameSpace) {
644
        return iterator(nameSpace, false);
645
    }
646

  
647
    private Iterator iterator(String nameSpace, boolean exactMatchingRequired) {
648

  
644 649
        List list = new ArrayList();
645 650
        Iterator it = this.classes.iterator();
651

  
652
        if (nameSpace == null) {
653
            nameSpace = "";
654
        }
655

  
646 656
        while( it.hasNext() ) {
647 657
            
648 658
            Object obj = it.next();
649 659
            DynStruct dynStruct = (DynStruct) obj;
650
            list.add(dynStruct);                      
651
            
660
            String dynNameSpace = dynStruct.getNamespace();
661
            if ((dynNameSpace == null) || (dynNameSpace.equals(""))) {
662
                dynNameSpace = null;
663
            } else {
664
                dynNameSpace = dynNameSpace.toLowerCase();
665
            }
666
            nameSpace = nameSpace.toLowerCase();
667
            if (exactMatchingRequired) {
668
                if (nameSpace.equalsIgnoreCase(dynNameSpace)) {
669
                    list.add(dynStruct);
670
                }
671
            } else {
672
                if ((dynNameSpace != null)
673
                    && (nameSpace.contains(dynNameSpace))) {
674
                    list.add(dynStruct);
675
                }
676
            }
652 677
        }
653 678
        return list.iterator();
654 679
    }

Also available in: Unified diff