package org.apereo.cas.configuration.model.support.jpa.ticketregistry;
import org.apereo.cas.configuration.model.core.util.CryptographyProperties;
import org.apereo.cas.configuration.model.support.jpa.AbstractJpaProperties;
import org.apereo.cas.configuration.support.Beans;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import javax.persistence.LockModeType;
/**
* Common properties for jpa ticket reg.
*
* @author Dmitriy Kopylenko
* @since 5.0.0
*/
public class JpaTicketRegistryProperties extends AbstractJpaProperties {
/**
* Default lock timeout is 1 hour.
*/
public static final String DEFAULT_LOCK_TIMEOUT = "PT1H";
private LockModeType ticketLockType = LockModeType.NONE;
private String jpaLockingTimeout = DEFAULT_LOCK_TIMEOUT;
@NestedConfigurationProperty
private CryptographyProperties crypto = new CryptographyProperties();
public JpaTicketRegistryProperties() {
super.setUrl("jdbc:hsqldb:mem:cas-ticket-registry");
}
public CryptographyProperties getCrypto() {
return crypto;
}
public void setCrypto(final CryptographyProperties crypto) {
this.crypto = crypto;
}
public long getJpaLockingTimeout() {
return Beans.newDuration(jpaLockingTimeout).getSeconds();
}
public void setJpaLockingTimeout(final String jpaLockingTimeout) {
this.jpaLockingTimeout = jpaLockingTimeout;
}
public LockModeType getTicketLockType() {
return ticketLockType;
}
public void setTicketLockType(final LockModeType ticketLockType) {
this.ticketLockType = ticketLockType;
}
}