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

View differences:

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