upgrade picketlink
This commit is contained in:
parent
c9ec2bb2c5
commit
5c9a3a730c
1 changed files with 33 additions and 0 deletions
|
@ -2,9 +2,12 @@ package org.keycloak.services.resources;
|
|||
|
||||
import org.jboss.resteasy.spi.ResteasyProviderFactory;
|
||||
import org.keycloak.services.models.KeycloakSession;
|
||||
import org.keycloak.services.models.KeycloakSessionFactory;
|
||||
import org.keycloak.services.models.KeycloakTransaction;
|
||||
|
||||
/**
|
||||
* Meant to be used as an inner class wrapper (I forget the pattern name, its been awhile).
|
||||
*
|
||||
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
|
||||
* @version $Revision: 1 $
|
||||
*/
|
||||
|
@ -13,10 +16,21 @@ public class Transaction {
|
|||
protected KeycloakTransaction transaction;
|
||||
protected boolean closeSession;
|
||||
|
||||
/**
|
||||
* Pull KeycloakSession from @Context
|
||||
*
|
||||
* Will close session after finished
|
||||
*
|
||||
*/
|
||||
public Transaction() {
|
||||
this(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Pull KeycloakSession from @Context
|
||||
*
|
||||
* @param close whether to close the session or not after completion
|
||||
*/
|
||||
public Transaction(boolean close) {
|
||||
this.session = ResteasyProviderFactory.getContextData(KeycloakSession.class);
|
||||
transaction = session.getTransaction();
|
||||
|
@ -24,10 +38,25 @@ public class Transaction {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and manages its own session.
|
||||
*
|
||||
* @param factory
|
||||
*/
|
||||
public Transaction(KeycloakSessionFactory factory) {
|
||||
this.closeSession = true;
|
||||
this.session = factory.createSession();
|
||||
this.transaction = session.getTransaction();
|
||||
}
|
||||
|
||||
protected void runImpl() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Will not begin or end a transaction or close a session if the transaction was already active when called
|
||||
*
|
||||
*/
|
||||
public void run() {
|
||||
boolean wasActive = transaction.isActive();
|
||||
if (!wasActive) transaction.begin();
|
||||
|
@ -46,6 +75,10 @@ public class Transaction {
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Will not begin or end a transaction or close a session if the transaction was already active when called
|
||||
*
|
||||
*/
|
||||
public <T> T call() {
|
||||
boolean wasActive = transaction.isActive();
|
||||
if (!wasActive) transaction.begin();
|
||||
|
|
Loading…
Reference in a new issue