Revision 44763 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.lib/org.gvsig.expressionevaluator.lib.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultExpressionBuilder.java

View differences:

DefaultExpressionBuilder.java
1 1
package org.gvsig.expressionevaluator.impl;
2 2

  
3 3
import java.text.MessageFormat;
4
import java.text.ParseException;
5
import java.text.SimpleDateFormat;
4 6
import java.util.ArrayList;
5 7
import java.util.Collections;
8
import java.util.Date;
6 9
import java.util.HashSet;
7 10
import java.util.List;
8 11
import java.util.Objects;
......
12 15
import org.gvsig.expressionevaluator.Expression;
13 16

  
14 17
import org.gvsig.expressionevaluator.ExpressionBuilder;
15
import static org.gvsig.expressionevaluator.ExpressionBuilder.EMPTY_FORMATTER;
16 18
import static org.gvsig.expressionevaluator.ExpressionBuilder.PARAMETER_TYPE_CONSTANT;
17 19
import static org.gvsig.expressionevaluator.ExpressionBuilder.PARAMETER_TYPE_VARIABLE;
18 20
import org.gvsig.expressionevaluator.ExpressionEvaluatorLocator;
......
20 22
import org.gvsig.expressionevaluator.ExpressionUtils;
21 23
import org.gvsig.expressionevaluator.Formatter;
22 24
import org.gvsig.expressionevaluator.ReprMethod;
25
import static org.gvsig.expressionevaluator.ExpressionBuilder.BASE_FORMATTER;
23 26

  
24 27
@SuppressWarnings({"UseSpecificCatch" ,"OverridableMethodCallInConstructor"})
25 28
public class DefaultExpressionBuilder implements ExpressionBuilder {
......
82 85

  
83 86
        @Override
84 87
        public String toString() {
85
            return this.toString(EMPTY_FORMATTER);
88
            return this.toString(BASE_FORMATTER);
86 89
        }
87 90
        
88 91
        @Override
......
111 114

  
112 115
        @Override
113 116
        public String toString() {
114
            return this.toString(EMPTY_FORMATTER);
117
            return this.toString(BASE_FORMATTER);
115 118
        }
116 119
        
117 120
        @Override
......
239 242

  
240 243
        @Override
241 244
        public String toString() {
242
            return this.toString(EMPTY_FORMATTER);
245
            return this.toString(BASE_FORMATTER);
243 246
        }
244 247
        
245 248
        @Override
......
275 278

  
276 279
        @Override
277 280
        public String toString() {
278
            return this.toString(EMPTY_FORMATTER);
281
            return this.toString(BASE_FORMATTER);
279 282
        }
280 283
        
281 284
        @Override
......
367 370

  
368 371
        @Override
369 372
        public String toString() {
370
            return this.toString(EMPTY_FORMATTER);
373
            return this.toString(BASE_FORMATTER);
371 374
        }
372 375
        
373 376
        @Override
......
441 444
        
442 445
        @Override
443 446
        public String toString() {
444
            return this.toString(EMPTY_FORMATTER);
447
            return this.toString(BASE_FORMATTER);
445 448
        }
446 449
        
447 450
        @Override
......
598 601

  
599 602
        @Override
600 603
        public String toString() {
601
            return this.toString(EMPTY_FORMATTER);
604
            return this.toString(BASE_FORMATTER);
602 605
        }
603 606
        
604 607
        @Override
......
1333 1336
  }
1334 1337

  
1335 1338
  @Override
1339
  public Function date(Date date) {
1340
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
1341
    return function(FUNCTION_DATE, constant(df.format(date)));
1342
  }
1343

  
1344
  @Override
1345
  public Function time(Date time) {
1346
    SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
1347
    return function(FUNCTION_TIME, constant(df.format(time)));
1348
  }
1349

  
1350
  @Override
1351
  public Function timestamp(Date timestamp) {
1352
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1353
    return function(FUNCTION_TIMESTAMP, constant(df.format(timestamp)));
1354
  }
1355

  
1356
  @Override
1357
  public Function date(String date) {
1358
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
1359
    Date d;
1360
    try {
1361
      d = df.parse(date);
1362
    } catch (ParseException ex) {
1363
      throw new IllegalArgumentException("Can't parse argument '"+date+"' as date.", ex);
1364
    }
1365
    return function(FUNCTION_DATE, constant(df.format(d)));
1366
  }
1367

  
1368
  @Override
1369
  public Function time(String time) {
1370
    SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
1371
    Date t;
1372
    try {
1373
      t = df.parse(time);
1374
    } catch (ParseException ex) {
1375
      throw new IllegalArgumentException("Can't parse argument '"+time+"' as date.", ex);
1376
    }
1377
    return function(FUNCTION_TIME, constant(df.format(t)));
1378
  }
1379

  
1380
  @Override
1381
  public Function timestamp(String timestamp) {
1382
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
1383
    Date ts;
1384
    try {
1385
      ts = df.parse(timestamp);
1386
    } catch (ParseException ex) {
1387
      throw new IllegalArgumentException("Can't parse argument '"+timestamp+"' as date.", ex);
1388
    }
1389
    return function(FUNCTION_TIMESTAMP, constant(df.format(ts)));
1390
  }
1391

  
1392
  @Override
1336 1393
  public Function date(Value date) {
1337 1394
    return function(FUNCTION_DATE, date);
1338 1395
  }

Also available in: Unified diff