Revision 46401 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.spi/src/main/java/org/gvsig/fmap/dal/feature/spi/SQLBuilderBase.java

View differences:

SQLBuilderBase.java
914 914
        protected Value value;
915 915
        protected String custom;
916 916
        protected boolean ascending;
917
        protected int nullsMode;
917 918

  
918 919
        public OrderByBuilderBase() {
919 920
            this.ascending = true;
921
            this.nullsMode = MODE_NULLS_LAST;
920 922
        }
921 923
        
922 924
        @Override
......
989 991
        }
990 992

  
991 993
        @Override
994
        public OrderByBuilder nulls(int mode) {
995
            this.nullsMode = mode;
996
            return this;
997
        }
998

  
999
        @Override
1000
        public int getNullsMode() {
1001
            return this.nullsMode;
1002
        }
1003

  
1004
        @Override
992 1005
        public String toString() {
993 1006
            return this.toString(formatter());
994 1007
        }
......
1001 1014
            if (!StringUtils.isEmpty(this.custom)) {
1002 1015
                return this.custom;
1003 1016
            }
1017
            String order_s = this.value.toString(formatter);
1004 1018
            if (this.ascending) {
1005
                return this.value.toString(formatter) + " ASC NULLS LAST";
1019
                order_s += " ASC";
1020
            } else {
1021
                order_s += " DESC";
1006 1022
            }
1007
            return this.value.toString(formatter) + " DESC NULLS FIRST";
1023
            switch(this.nullsMode) {
1024
                case MODE_NULLS_NOT_SPECIFIED:
1025
                    break;
1026
                case MODE_NULLS_FIRST:
1027
                    order_s += " NULLS FIRST";
1028
                    break;
1029
                case MODE_NULLS_LAST:
1030
                default:
1031
                    order_s += " NULLS LAST";
1032
                    break;
1033
            }
1034
            return order_s;
1008 1035
        }
1009 1036
    }
1010 1037

  

Also available in: Unified diff