Revision 8663 trunk/extensions/extWFS2/src/com/iver/cit/gvsig/gui/panels/WFSFilterPanel.java

View differences:

WFSFilterPanel.java
6 6
import java.text.NumberFormat;
7 7
import java.text.ParseException;
8 8
import java.util.ArrayList;
9
import java.util.Collection;
9 10
import java.util.Comparator;
10 11
import java.util.Iterator;
12
import java.util.Map;
11 13
import java.util.TreeSet;
12 14
import java.util.Vector;
13 15
import java.util.regex.Matcher;
......
23 25
import org.apache.log4j.Logger;
24 26
import org.gvsig.gui.beans.filterPanel.filterQueryPanel.FilterQueryJPanel;
25 27
import org.gvsig.remoteClient.gml.schemas.IXMLType;
28
import org.gvsig.remoteClient.gml.schemas.XMLComplexType;
26 29
import org.gvsig.remoteClient.gml.schemas.XMLElement;
27 30

  
28 31
import com.hardcode.gdbms.engine.data.driver.DriverException;
......
453 456
                
454 457
        try {
455 458
        	int numberOfFields = model.getFieldCount();
456
        	
459

  
457 460
        	if (numberOfFields > 0) {
458 461
        		Vector fields = new Vector(0, 1);
459 462
        		int j = 0;
460 463
        	
461 464
				for (int i = 0; i < numberOfFields; i++) {
462
					Object field = model.getFieldName(i);
465
					 Object field = model.getFieldName(i);
463 466
					
464 467
					if (field != null) {
465 468
						fields.add(field);
......
728 731
	 */
729 732
	private void setFields(WFSLayerNode feature) {
730 733
		Vector fields = feature.getFields();
734
//		Vector fieldsWithoutGeometry = new Vector(0, 1);
731 735
				
732 736
		this.resetFieldsAndValuesData();
733 737
		
734 738
		int numberOfFields = fields.size();
735 739
		
736 740
		if (numberOfFields > 0) {
737
			int j = 0;
741
//			int j = 0;
738 742
			Vector fieldBranches = new Vector(0, 1);
743
//			Vector fieldsClone = (Vector)fields.clone();
739 744
			
740
			for (int i=0 ; i<fields.size() ;i++) {
741
				XMLElement field = (XMLElement)fields.get(i);				
742

  
745
			for (int i=0; i<fields.size(); i++) {
746
				XMLElement field = (XMLElement)fields.get(i);
747
				
748
//				XMLElement aaa = (XMLElement)new Object();
749
//				aaa.
750
//								
743 751
				IXMLType type = field.getEntityType();
744 752
				
745
				if (type != null) {
753
				if (type != null) {					
754
					
746 755
					switch (type.getType()) {
747 756
						case IXMLType.GML_GEOMETRY:
757
						//	fields.remove(i);
748 758
							break;
749
						case IXMLType.COMPLEX:
759
						case IXMLType.COMPLEX: // Now it's implemented that the first level is always COMPLEX
760
//							Object field_clone = new Object();
761
//							field_clone = field;
762
							
763
//							// If the complex element has a geometry, don't load this field in the tree
764
//							Object field_copy = new Object();
765
//							field_copy = field;
766
//							
767
//							Map c_fields_map = ((XMLComplexType)((XMLElement)field_copy).getEntityType()).getSubtypes();
768
//							
769
//							Collection c_fields = c_fields_map.values();
770
//							
771
//							Iterator iterator = c_fields.iterator();
772
//							XMLElement element = null;
773
//							
774
//							while(iterator.hasNext()) {
775
//								element = (XMLElement)iterator.next();
776
//								
777
//								if (element.getEntityType().getType() == IXMLType.GML_GEOMETRY) {
778
//									iterator.remove();
779
//								}
780
//							}
781
//							
782
//							fieldBranches.add(field_copy);
783
//							fieldsWithoutGeometry.add(field_clone);
750 784
							fieldBranches.add(field);
751
							j++;
785
//							j++;
752 786
							break;
753 787
						case IXMLType.SIMPLE:
754 788
							fieldBranches.add(field);
755
							j++;
789
//							fieldsWithoutGeometry.add(field);
790
//							j++;
756 791
							break;
757 792
					}
758 793
				}
759 794
			}
760 795
			
761 796
			attributesTreeTableModel = new AttributesTreeTableModel(fieldBranches.get(0));
762
			fieldsJTree.setModel(attributesTreeTableModel);
797
			fieldsJTree.setModel(new AttributesTreeTableModel(fieldBranches.get(0), false));
763 798
		}
764 799
	}
765 800

  

Also available in: Unified diff