Revision 8239 trunk/extensions/extWFS2/src/com/iver/cit/gvsig/gui/panels/WFSFilterPanel.java
WFSFilterPanel.java | ||
---|---|---|
1 | 1 |
package com.iver.cit.gvsig.gui.panels; |
2 | 2 |
|
3 |
import java.awt.event.KeyAdapter; |
|
4 |
import java.awt.event.KeyEvent; |
|
5 |
import java.awt.event.MouseAdapter; |
|
6 |
import java.awt.event.MouseEvent; |
|
3 | 7 |
import java.text.NumberFormat; |
4 | 8 |
import java.text.ParseException; |
5 | 9 |
import java.util.ArrayList; |
... | ... | |
8 | 12 |
import java.util.regex.Pattern; |
9 | 13 |
|
10 | 14 |
import javax.swing.DefaultListModel; |
15 |
import javax.swing.plaf.basic.BasicTreeUI.TreeCancelEditingAction; |
|
11 | 16 |
import javax.swing.tree.DefaultMutableTreeNode; |
12 | 17 |
import javax.swing.tree.DefaultTreeModel; |
13 | 18 |
|
... | ... | |
85 | 90 |
private ArrayList expressionListeners = new ArrayList(); |
86 | 91 |
private ExpressionDataSource model = null; |
87 | 92 |
private NumberFormat nf = NumberFormat.getNumberInstance(); |
88 |
private ExceptionHandlingSupport exceptionHandlingSupport = new ExceptionHandlingSupport(); |
|
89 |
|
|
93 |
private ExceptionHandlingSupport exceptionHandlingSupport = new ExceptionHandlingSupport(); |
|
90 | 94 |
|
91 |
|
|
92 | 95 |
/** |
93 | 96 |
* This method initializes |
94 | 97 |
* |
... | ... | |
98 | 101 |
this.parent = parent; |
99 | 102 |
this.resizeHeight(380); |
100 | 103 |
defaultTreeModel = (DefaultTreeModel)fieldsJTree.getModel(); |
104 |
addNewListeners(); |
|
101 | 105 |
} |
102 | 106 |
|
103 | 107 |
/** |
108 |
* Adds some more listener to the components of the panel |
|
109 |
*/ |
|
110 |
private void addNewListeners() { |
|
111 |
getFilterJScrollPane().addKeyListener(new KeyAdapter() { |
|
112 |
/* |
|
113 |
* (non-Javadoc) |
|
114 |
* @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent) |
|
115 |
*/ |
|
116 |
public void keyTyped(KeyEvent e) { |
|
117 |
setApplicate(true); |
|
118 |
} |
|
119 |
}); |
|
120 |
|
|
121 |
fieldsJTree.addMouseListener(new MouseAdapter() { |
|
122 |
/* |
|
123 |
* (non-Javadoc) |
|
124 |
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent) |
|
125 |
*/ |
|
126 |
public void mouseClicked(MouseEvent e) { |
|
127 |
if (e.getClickCount() == 2) { |
|
128 |
int row = fieldsJTree.getRowForLocation(e.getX(), e.getY()); |
|
129 |
|
|
130 |
if (row > -1) { |
|
131 |
putSymbol(jtreeRoot.getChildAt(row).toString()); |
|
132 |
} |
|
133 |
} |
|
134 |
} |
|
135 |
}); |
|
136 |
} |
|
137 |
|
|
138 |
/** |
|
104 | 139 |
* Gets the query that will be send to the server |
105 | 140 |
* @return |
106 | 141 |
* SQL query (just the where part) |
... | ... | |
335 | 370 |
|
336 | 371 |
return expresion; |
337 | 372 |
} |
338 |
|
|
373 |
|
|
339 | 374 |
/** |
340 | 375 |
* DOCUMENT ME! |
341 | 376 |
* |
... | ... | |
356 | 391 |
expression = translateWord(expression, "true", "1"); |
357 | 392 |
expression = translateWord(expression, "false", "0"); |
358 | 393 |
|
394 |
// String replacement; |
|
395 |
// Pattern patron = Pattern.compile("[^<>!]="); |
|
396 |
// Matcher m = patron.matcher(expression); |
|
397 |
// int index = 0; |
|
398 |
// |
|
399 |
// while (m.find(index)) { |
|
400 |
// index = m.start(); |
|
401 |
// replacement = expression.charAt(index) + "=="; |
|
402 |
// m.replaceFirst(replacement); |
|
403 |
// index++; |
|
404 |
// } |
|
405 |
// |
|
406 |
// expression = expression.replaceAll("[^<>!]=", "=="); |
|
407 |
|
|
408 |
logger.debug(expression); |
|
409 |
|
|
410 |
return expression; |
|
411 |
} |
|
412 |
|
|
413 |
/** |
|
414 |
* DOCUMENT ME! |
|
415 |
* |
|
416 |
* @return DOCUMENT ME! |
|
417 |
* |
|
418 |
* @throws ParseException DOCUMENT ME! |
|
419 |
*/ |
|
420 |
private String oldValidateExpressionMethod() throws ParseException { |
|
421 |
String expression = txtExpression.getText(); |
|
422 |
// HashSet variablesIndexes = new HashSet(); |
|
423 |
// |
|
424 |
// StringBuffer traducida = new StringBuffer(); |
|
425 |
|
|
426 |
//Se transforman los nombres de los campos en las variables xix que analizar?n |
|
427 |
//Se quitan los Date(fecha) y se mete la fecha correspondiente |
|
428 |
expression = translateDates(expression); |
|
429 |
expression = translateNumber(expression); |
|
430 |
expression = translateWord(expression, "true", "1"); |
|
431 |
expression = translateWord(expression, "false", "0"); |
|
432 |
|
|
359 | 433 |
String replacement; |
360 | 434 |
Pattern patron = Pattern.compile("[^<>!]="); |
361 | 435 |
Matcher m = patron.matcher(expression); |
... | ... | |
413 | 487 |
for (int i=0 ; i<fields.size() ;i++){ |
414 | 488 |
XMLElement field = (XMLElement)fields.get(i); |
415 | 489 |
|
416 |
this.addFieldBranch(field); |
|
417 | 490 |
|
491 |
|
|
418 | 492 |
IXMLType type = field.getEntityType(); |
419 |
if ((type != null) && (type.getType() == IXMLType.GML_GEOMETRY)){ |
|
420 |
Vector geometry = new Vector(); |
|
421 |
geometry.add(field); |
|
422 |
|
|
423 |
feature.setGeometry((GMLGeometryType)type); |
|
493 |
if (type != null) { |
|
494 |
switch (type.getType()) { |
|
495 |
case IXMLType.GML_GEOMETRY: |
|
496 |
// Vector geometry = new Vector(); |
|
497 |
// geometry.add(field); |
|
498 |
// |
|
499 |
// feature.setGeometry((GMLGeometryType)type); |
|
500 |
break; |
|
501 |
case IXMLType.COMPLEX: |
|
502 |
this.addFieldBranch(field); |
|
503 |
break; |
|
504 |
case IXMLType.SIMPLE: |
|
505 |
this.addFieldBranch(field); |
|
506 |
break; |
|
507 |
} |
|
424 | 508 |
} |
425 | 509 |
} |
426 | 510 |
|
... | ... | |
451 | 535 |
layerFeaturesFields.clear(); |
452 | 536 |
((DefaultListModel)valuesJList.getModel()).removeAllElements(); |
453 | 537 |
} |
538 |
|
|
539 |
|
|
540 |
/** |
|
541 |
* @see WFSParamsPanel#isApplicable(boolean) |
|
542 |
* |
|
543 |
* @param b A boolean value |
|
544 |
*/ |
|
545 |
private void setApplicate(boolean b) { |
|
546 |
parent.isApplicable(b); |
|
547 |
} |
|
454 | 548 |
} |
Also available in: Unified diff