Skip to content

Commit 32e3fb2

Browse files
Locker auto-commit fix
1 parent 1bb317d commit 32e3fb2

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

core/src/main/java/dev/vml/es/acm/core/acl/authorizable/AclGroup.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,9 @@ public AclResult removeAllMembers() {
102102

103103
public Stream<AclAuthorizable> getMembers() {
104104
try {
105+
return StreamUtils.asStream(group.getMembers())
105106
.map(context::determineAuthorizable)
107+
.filter(a -> a != null);
106108
} catch (RepositoryException e) {
107109
throw new AclException(String.format("Failed to get members of group '%s'", getId()), e);
108110
}

core/src/main/java/dev/vml/es/acm/core/repo/Locker.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ public void lock(String lockName) {
7474
props.put(JcrConstants.JCR_PRIMARYTYPE, RESOURCE_TYPE);
7575
props.put(LOCKED_PROP, Calendar.getInstance());
7676
resolver.create(dirResource, nodeName, props);
77-
resolver.commit();
77+
if (autoCommit.get()) {
78+
resolver.commit();
79+
}
7880
LOG.debug("Created lock '{}'", name);
7981
return;
8082
} catch (PersistenceException e) {
@@ -108,7 +110,9 @@ public void unlock(String lockName) {
108110
return;
109111
}
110112
resolver.delete(lockCurrent);
111-
resolver.commit();
113+
if (autoCommit.get()) {
114+
resolver.commit();
115+
}
112116
LOG.debug("Deleted lock '{}'", name);
113117
return;
114118
} catch (PersistenceException e) {
@@ -133,7 +137,9 @@ public void unlockAll() {
133137
}
134138
try {
135139
resolver.delete(root);
136-
resolver.commit();
140+
if (autoCommit.get()) {
141+
resolver.commit();
142+
}
137143
LOG.debug("Deleted all locks");
138144
} catch (PersistenceException e) {
139145
throw new AcmException("Cannot delete all locks!", e);

0 commit comments

Comments
 (0)