Revision 41195 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.labeling.app/org.gvsig.labeling.app.mainplugin/src/main/java/org/gvsig/labeling/gui/layerproperties/LabelClassProperties.java

View differences:

LabelClassProperties.java
634 634

  
635 635
	public void actionPerformed(ActionEvent e) {
636 636
		setComponentEnabled(sqlPnl, rdBtnFilteredFeatures.isSelected());
637
		
637 638
		applySettings();
639
		
638 640
		if ("OK".equals(e.getActionCommand())) {
641
		    
642
		    
643
		    if (rdBtnFilteredFeatures.isSelected()) {
644
		        
645
		        String sqlstr = txtSQL.getText();
646
	            if (!validVisibleSQL(sqlstr, featureStore)) {
647
	                JOptionPane.showMessageDialog(
648
	                    ApplicationLocator.getManager().getRootComponent(),
649
	                    Messages.getText("error_validating_filter_query")
650
	                    + ":\n\n'" + sqlstr + "'",
651
	                    Messages.getText("filtered_features"),
652
	                    JOptionPane.ERROR_MESSAGE);
653
	                return;
654
	            }
655
	        }
656
		    
657
		    
639 658
			clonedClass.setUnit(textStyle.getUnit());
640 659
			clonedClass.setReferenceSystem(textStyle.getReferenceSystem());
641 660
			clonedClass.setTextSymbol(textStyle.getTextSymbol());
......
724 743
		repaint();
725 744
	}
726 745

  
727
	private void applySettings() {
746
	private boolean validVisibleSQL(String sqlstr, FeatureStore fsto) {
747
	    
748
	    return LabelClassUtils.validExpression(sqlstr, fsto, true);
749
    }
750

  
751
    private void applySettings() {
752
	    
728 753
		clonedClass.setVisible(chkLabelFeatures.isSelected());
729 754
		clonedClass.setName(txtName.getText());
730
		clonedClass.setSQLQuery(txtSQL.getText());
755
		
756
		if (rdBtnFilteredFeatures.isSelected()) {
757
		    clonedClass.setSQLQuery(txtSQL.getText());
758
		} else {
759
		    clonedClass.setSQLQuery("");
760
		}
761
		
731 762
		JTable tableFields=getTableFields();
732 763
		TableCellEditor cellEditor=tableFields.getCellEditor();
733 764
		if(cellEditor != null){

Also available in: Unified diff