Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
reg-app
Regapp
Commits
2579eda5
Commit
2579eda5
authored
Jan 08, 2021
by
michael.simon
Browse files
fix count bug in filtered tables
parent
9c87f0fd
Changes
5
Hide whitespace changes
Inline
Side-by-side
bwreg-jpa/src/main/java/edu/kit/scc/webreg/dao/BaseDao.java
View file @
2579eda5
...
...
@@ -31,7 +31,7 @@ public interface BaseDao<T extends BaseEntity<PK>, PK extends Serializable> {
List
<
T
>
findAllPaging
(
int
first
,
int
pageSize
,
String
sortField
,
GenericSortOrder
sortOrder
,
Map
<
String
,
Object
>
filterMap
,
Map
<
String
,
FilterMeta
>
additionalFilterMap
,
String
...
attrs
);
Number
countAll
(
Map
<
String
,
Object
>
filterMap
);
Number
countAll
(
Map
<
String
,
Object
>
filterMap
,
Map
<
String
,
FilterMeta
>
additionalFilterMap
);
T
findById
(
PK
id
);
...
...
bwreg-jpa/src/main/java/edu/kit/scc/webreg/dao/jpa/JpaBaseDao.java
View file @
2579eda5
...
...
@@ -119,13 +119,14 @@ public abstract class JpaBaseDao<T extends BaseEntity<PK>, PK extends Serializab
}
@Override
public
Number
countAll
(
Map
<
String
,
Object
>
filterMap
)
{
public
Number
countAll
(
Map
<
String
,
Object
>
filterMap
,
Map
<
String
,
FilterMeta
>
additionalFilterMap
)
{
CriteriaBuilder
builder
=
em
.
getCriteriaBuilder
();
CriteriaQuery
<
Long
>
criteria
=
builder
.
createQuery
(
Long
.
class
);
Root
<
T
>
root
=
criteria
.
from
(
getEntityClass
());
List
<
Predicate
>
predicates
=
predicatesFromFilterMap
(
builder
,
root
,
filterMap
);
predicates
.
addAll
(
predicatesFromAdditionalFilterMap
(
builder
,
root
,
additionalFilterMap
));
criteria
.
select
(
builder
.
count
(
root
));
criteria
.
where
(
builder
.
and
(
predicates
.
toArray
(
new
Predicate
[
predicates
.
size
()])));
...
...
@@ -133,7 +134,7 @@ public abstract class JpaBaseDao<T extends BaseEntity<PK>, PK extends Serializab
TypedQuery
<
Long
>
q
=
em
.
createQuery
(
criteria
);
return
q
.
getSingleResult
();
}
@Override
public
T
findById
(
PK
id
)
{
return
em
.
find
(
getEntityClass
(),
id
);
...
...
bwreg-service/src/main/java/edu/kit/scc/webreg/service/BaseService.java
View file @
2579eda5
...
...
@@ -38,7 +38,7 @@ public interface BaseService<T extends BaseEntity<PK>, PK extends Serializable>
List
<
T
>
findAllPaging
(
int
first
,
int
pageSize
,
String
sortField
,
GenericSortOrder
sortOrder
,
Map
<
String
,
Object
>
filterMap
,
Map
<
String
,
FilterMeta
>
additionalFilterMap
,
String
...
attrs
);
Number
countAll
(
Map
<
String
,
Object
>
filterMap
);
Number
countAll
(
Map
<
String
,
Object
>
filterMap
,
Map
<
String
,
FilterMeta
>
additionalFilterMap
);
List
<
T
>
findByMultipleId
(
List
<
PK
>
ids
);
}
bwreg-service/src/main/java/edu/kit/scc/webreg/service/impl/BaseServiceImpl.java
View file @
2579eda5
...
...
@@ -59,8 +59,8 @@ public abstract class BaseServiceImpl<T extends BaseEntity<PK>, PK extends Seria
}
@Override
public
Number
countAll
(
Map
<
String
,
Object
>
filterMap
)
{
return
getDao
().
countAll
(
filterMap
);
public
Number
countAll
(
Map
<
String
,
Object
>
filterMap
,
Map
<
String
,
FilterMeta
>
additionalFilterMap
)
{
return
getDao
().
countAll
(
filterMap
,
additionalFilterMap
);
}
@Override
...
...
bwreg-webapp/src/main/java/edu/kit/scc/webreg/model/GenericLazyDataModelImpl.java
View file @
2579eda5
...
...
@@ -69,7 +69,7 @@ public class GenericLazyDataModelImpl<E extends BaseEntity<PK>, T extends BaseSe
setPageSize
(
pageSize
);
Number
n
=
getService
().
countAll
(
filterMap
);
Number
n
=
getService
().
countAll
(
filterMap
,
additionalFilterMap
);
if
(
n
!=
null
)
setRowCount
(
n
.
intValue
());
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment