Revision 119:949d5ea3ce6f

View differences:

src/main/java/my/com/upass/dao/hibernate/UserDAOHibernate.java
594 594
					}
595 595
					c.add(Restrictions.ilike(MU + ".userAlias", username));
596 596

  
597
					checkQueryResultSize(c);
597
					totalRows = checkTotalRows(c, totalRows);
598 598
				}
599 599
				profiles.addAll(c.list());
600 600
				if (txSession == null)
......
670 670
				if (toDate != null)
671 671
					c.add(Restrictions.le(MU + ".udateCreated", toDate));
672 672

  
673
				checkQueryResultSize(c);
673
				totalRows = checkTotalRows(c, totalRows);
674 674
				
675 675
				profiles.addAll(c.list());
676 676

  
......
684 684
		return profiles;
685 685
	}
686 686

  
687
	private Object checkQueryResultSize(Criteria c) throws UPassException {
688
		long totalRows;
687
	private long checkTotalRows(Criteria c, long totalRows) throws UPassException {
689 688
		Object rowCount = c.setProjection(Projections.rowCount()).uniqueResult();
690 689
		if (rowCount instanceof Number) {
691
			totalRows = ((Number) rowCount).longValue();
690
			totalRows += ((Number) rowCount).longValue();
692 691
			if (totalRows > MAX_QUERY_RESULT_SIZE )
693 692
				throw new UPassException(MinimalConstants.ERR_TOO_MANY_MATCHES);
694 693
		}
695 694
		c.setProjection(null);
696 695
		c.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
697
		return rowCount;
696
		return totalRows;
698 697
	}
699 698

  
700 699
	public boolean deleteProfile(String username, Class profileClass, Session txSession) throws Exception {

Also available in: Unified diff