Github user ilgrosso commented on a diff in the pull request:
https://github.com/apache/syncope/pull/70#discussion_r181093708
--- Diff:
core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AccessTokenDataBinderImpl.java
---
@@ -135,11 +135,7 @@
accessToken.setAuthorities(authorities);
}
- accessTokenDAO.save(accessToken);
- }
-
- if (replaceExisting && existing != null) {
- accessTokenDAO.delete(existing);
+ accessTokenDAO.merge(accessToken);
--- End diff --
So, the current implementation will replace the token only if
`replaceExisting` is true; with your change, the token will be replaced anyway,
because `JPAAccessTokenDAO#merge` will do
```
if (existing != null) {
entityManager().remove(existing);
}
```
while the current code does
```
if (replaceExisting && existing != null) {
accessTokenDAO.delete(existing);
}
```
---