Revision 8663 trunk/extensions/extWFS2/src/com/iver/cit/gvsig/gui/panels/WFSFilterPanel.java
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