git://wamblee.org
/
utils
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(no commit message)
[utils]
/
security
/
impl
/
src
/
main
/
java
/
org
/
wamblee
/
usermgt
/
jpa
/
JpaGroupSet.java
diff --git
a/security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java
b/security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java
index 6d6cde0f684c3c2e155d3c8838b884fdfd6cacf8..b9db23975f748f71e3124eb7a45b5d4c8a18bd7b 100644
(file)
--- a/
security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java
+++ b/
security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java
@@
-12,10
+12,10
@@
import org.wamblee.usermgt.Group;
import org.wamblee.usermgt.GroupSet;
public class JpaGroupSet implements GroupSet {
import org.wamblee.usermgt.GroupSet;
public class JpaGroupSet implements GroupSet {
-
- private EntityManager em;
-
- public JpaGroupSet(EntityManager aEm) {
+
+ private EntityManager em;
+
+ public JpaGroupSet(EntityManager aEm) {
em = aEm;
}
em = aEm;
}
@@
-31,12
+31,13
@@
public class JpaGroupSet implements GroupSet {
@Override
public boolean contains(Group aGroup) {
@Override
public boolean contains(Group aGroup) {
- return find(aGroup.getName()) != null;
+ return find(aGroup.getName()) != null;
}
@Override
public Group find(String aName) {
}
@Override
public Group find(String aName) {
- TypedQuery<Group> query = em.createNamedQuery(Group.QUERY_FIND_BY_NAME, Group.class);
+ TypedQuery<Group> query = em.createNamedQuery(Group.QUERY_FIND_BY_NAME,
+ Group.class);
query.setParameter(Group.NAME_PARAM, aName);
List<Group> groups = query.getResultList();
if (groups.size() > 1) {
query.setParameter(Group.NAME_PARAM, aName);
List<Group> groups = query.getResultList();
if (groups.size() > 1) {
@@
-54,21
+55,28
@@
public class JpaGroupSet implements GroupSet {
public void groupModified(Group aGroup) {
assert aGroup.getPrimaryKey() != null;
Group merged = em.merge(aGroup);
public void groupModified(Group aGroup) {
assert aGroup.getPrimaryKey() != null;
Group merged = em.merge(aGroup);
+ // Need to flush so that version of the merged instance is updated so we
+ // can use
+ // the updated version in the original group passed in. That allows the
+ // same
+ // group object to continue to be used as a detached object.
+ em.flush();
JpaMergeSupport.merge(merged, aGroup);
}
@Override
public Set<Group> list() {
JpaMergeSupport.merge(merged, aGroup);
}
@Override
public Set<Group> list() {
- List<Group> groups = em.createNamedQuery(Group.QUERY_ALL_GROUPS, Group.class).getResultList();
+ List<Group> groups = em.createNamedQuery(Group.QUERY_ALL_GROUPS,
+ Group.class).getResultList();
Set<Group> res = new TreeSet<Group>(groups);
Set<Group> res = new TreeSet<Group>(groups);
- return res;
+ return res;
}
@Override
public boolean remove(Group aGroup) {
Group group = find(aGroup.getName());
}
@Override
public boolean remove(Group aGroup) {
Group group = find(aGroup.getName());
- if (
group == null ) {
- return false;
+ if (
group == null) {
+ return false;
}
em.remove(group);
return true;
}
em.remove(group);
return true;
@@
-76,7
+84,8
@@
public class JpaGroupSet implements GroupSet {
@Override
public int size() {
@Override
public int size() {
- Long res = (Long)em.createNamedQuery(Group.QUERY_COUNT_GROUPS).getSingleResult();
+ Long res = (Long) em.createNamedQuery(Group.QUERY_COUNT_GROUPS)
+ .getSingleResult();
return res.intValue();
}
}
return res.intValue();
}
}