package org.apereo.cas.configuration.model.webapp; import org.apereo.cas.configuration.model.core.util.CryptographyProperties; import org.apereo.cas.configuration.support.Beans; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; /** * Configuration properties class for webflow. * * @author Dmitriy Kopylenko * @since 5.0.0 */ public class WebflowProperties extends CryptographyProperties { private boolean autoconfigure = true; private boolean refresh; private boolean alwaysPauseRedirect; private boolean redirectSameState; private Session session = new Session(); public boolean isAutoconfigure() { return autoconfigure; } public void setAutoconfigure(final boolean autoconfigure) { this.autoconfigure = autoconfigure; } public boolean isRefresh() { return refresh; } public void setRefresh(final boolean refresh) { this.refresh = refresh; } public boolean isAlwaysPauseRedirect() { return alwaysPauseRedirect; } public void setAlwaysPauseRedirect(final boolean alwaysPauseRedirect) { this.alwaysPauseRedirect = alwaysPauseRedirect; } public boolean isRedirectSameState() { return redirectSameState; } public void setRedirectSameState(final boolean redirectSameState) { this.redirectSameState = redirectSameState; } public Session getSession() { return session; } public void setSession(final Session session) { this.session = session; } public static class Session { private String lockTimeout = "PT30S"; private int maxConversations = 5; private boolean compress; private boolean storage; private Resource hzLocation = new ClassPathResource("hazelcast.xml"); public long getLockTimeout() { return Beans.newDuration(lockTimeout).getSeconds(); } public void setLockTimeout(final String lockTimeout) { this.lockTimeout = lockTimeout; } public int getMaxConversations() { return maxConversations; } public void setMaxConversations(final int maxConversations) { this.maxConversations = maxConversations; } public boolean isCompress() { return compress; } public void setCompress(final boolean compress) { this.compress = compress; } public boolean isStorage() { return storage; } public void setStorage(final boolean storage) { this.storage = storage; } public Resource getHzLocation() { return hzLocation; } public void setHzLocation(final Resource hzLocation) { this.hzLocation = hzLocation; } } }