@@ -344,23 +344,13 @@ public T lockOneRandomRow(final SearchCriteria<T> sc, final boolean exclusive) {
344344
345345 @ DB ()
346346 protected List <T > search (SearchCriteria <T > sc , final Filter filter , final Boolean lock , final boolean cache ) {
347- if (_removed != null ) {
348- if (sc == null ) {
349- sc = createSearchCriteria ();
350- }
351- sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
352- }
347+ sc = checkAndSetRemovedIsNull (sc );
353348 return searchIncludingRemoved (sc , filter , lock , cache );
354349 }
355350
356351 @ DB ()
357352 protected List <T > search (SearchCriteria <T > sc , final Filter filter , final Boolean lock , final boolean cache , final boolean enableQueryCache ) {
358- if (_removed != null ) {
359- if (sc == null ) {
360- sc = createSearchCriteria ();
361- }
362- sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
363- }
353+ sc = checkAndSetRemovedIsNull (sc );
364354 return searchIncludingRemoved (sc , filter , lock , cache , enableQueryCache );
365355 }
366356
@@ -519,7 +509,6 @@ public <M> List<M> customSearch(SearchCriteria<M> sc, final Filter filter) {
519509 if (_removed != null ) {
520510 sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
521511 }
522-
523512 return customSearchIncludingRemoved (sc , filter );
524513 }
525514
@@ -911,26 +900,20 @@ protected T findOneIncludingRemovedBy(final SearchCriteria<T> sc) {
911900
912901 @ Override
913902 @ DB ()
914- public T findOneBy (final SearchCriteria <T > sc ) {
915- if (_removed != null ) {
916- sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
917- }
903+ public T findOneBy (SearchCriteria <T > sc ) {
904+ sc = checkAndSetRemovedIsNull (sc );
918905 return findOneIncludingRemovedBy (sc );
919906 }
920907
921908 @ DB ()
922- protected List <T > listBy (final SearchCriteria <T > sc , final Filter filter ) {
923- if (_removed != null ) {
924- sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
925- }
909+ protected List <T > listBy (SearchCriteria <T > sc , final Filter filter ) {
910+ sc = checkAndSetRemovedIsNull (sc );
926911 return listIncludingRemovedBy (sc , filter );
927912 }
928913
929914 @ DB ()
930- protected List <T > listBy (final SearchCriteria <T > sc , final Filter filter , final boolean enableQueryCache ) {
931- if (_removed != null ) {
932- sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
933- }
915+ protected List <T > listBy (SearchCriteria <T > sc , final Filter filter , final boolean enableQueryCache ) {
916+ sc = checkAndSetRemovedIsNull (sc );
934917 return listIncludingRemovedBy (sc , filter , enableQueryCache );
935918 }
936919
@@ -1935,7 +1918,22 @@ public SearchCriteria<T> createSearchCriteria() {
19351918 return builder .create ();
19361919 }
19371920
1921+ private SearchCriteria <T > checkAndSetRemovedIsNull (SearchCriteria <T > sc ) {
1922+ if (_removed != null ) {
1923+ if (sc == null ) {
1924+ sc = createSearchCriteria ();
1925+ }
1926+ sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
1927+ }
1928+ return sc ;
1929+ }
1930+
19381931 public Integer getDistinctCount (SearchCriteria <T > sc ) {
1932+ sc = checkAndSetRemovedIsNull (sc );
1933+ return getDistinctCountIncludingRemoved (sc );
1934+ }
1935+
1936+ public Integer getDistinctCountIncludingRemoved (SearchCriteria <T > sc ) {
19391937 String clause = sc != null ? sc .getWhereClause () : null ;
19401938 if (clause != null && clause .length () == 0 ) {
19411939 clause = null ;
@@ -1994,6 +1992,11 @@ public Integer getDistinctCount(SearchCriteria<T> sc) {
19941992 }
19951993
19961994 public Integer getDistinctCount (SearchCriteria <T > sc , String [] distinctColumns ) {
1995+ sc = checkAndSetRemovedIsNull (sc );
1996+ return getDistinctCountIncludingRemoved (sc , distinctColumns );
1997+ }
1998+
1999+ public Integer getDistinctCountIncludingRemoved (SearchCriteria <T > sc , String [] distinctColumns ) {
19972000 String clause = sc != null ? sc .getWhereClause () : null ;
19982001 if (Strings .isNullOrEmpty (clause )) {
19992002 clause = null ;
@@ -2040,15 +2043,15 @@ public Integer getDistinctCount(SearchCriteria<T> sc, String[] distinctColumns)
20402043 }
20412044
20422045 public Integer countAll () {
2043- SearchCriteria <T > sc = null ;
2044- if (_removed != null ) {
2045- sc = createSearchCriteria ();
2046- sc .addAnd (_removed .second ().field .getName (), SearchCriteria .Op .NULL );
2047- }
2048- return getCount (sc );
2046+ return getCount (null );
20492047 }
20502048
20512049 public Integer getCount (SearchCriteria <T > sc ) {
2050+ sc = checkAndSetRemovedIsNull (sc );
2051+ return getCountIncludingRemoved (sc );
2052+ }
2053+
2054+ public Integer getCountIncludingRemoved (SearchCriteria <T > sc ) {
20522055 String clause = sc != null ? sc .getWhereClause () : null ;
20532056 if (clause != null && clause .length () == 0 ) {
20542057 clause = null ;
0 commit comments