All Downloads are FREE. Search and download functionalities are using the official Maven repository.

security.sessionhandler.ftl Maven / Gradle / Ivy

The newest version!
/**
* 	Warning!
*
* 	Generated source file. Changes in this file will be overwritten 
*		next time a generation is performed 
*
**/

package ${package}.security;

import ${package}.process.AbstractProcess;
import ${package}.model.*;
import java.util.Map;
import java.util.HashMap;

public class DefaultSessionHandler implements ISessionHandler {
	public static Map sessions = new HashMap(); 

	public boolean addSession(String session, ROLE role) {
		sessions.put(session, role);
		return sessions.containsKey(session);
	}
	
	public boolean removeSession(String session) {
		sessions.remove(session);
		return !sessions.containsKey(session);
	}

	public boolean hasValidSessionAndRole(String session, AbstractProcess.TYPE type, Class clazz, Class clazzAttachDetach) {
		ROLE role = sessions.get(session);
		if (role == null) {
			role = ISessionHandler.ROLE.ANONYMOUS;
		}
		
		return validateRole(role, type, clazz, clazzAttachDetach);
	}
	
	public boolean validateRole(ROLE role, AbstractProcess.TYPE type, Class clazz, Class clazzAttachDetach) {
		<#list modelgroups as object>
			if (I${object.getName()}.class.isAssignableFrom(clazz)) {
				return validateI${object.getName()}(role, type, clazzAttachDetach);
			}
		
		
		return false;
	}
	
	<#list modelgroups as object>
		public boolean validateI${object.getName()}(ROLE role, AbstractProcess.TYPE type, Class clazzAttachDetach) {
			if (type.equals(AbstractProcess.TYPE.LIST)) {
				return true;
			} else {
				return role.equals(ISessionHandler.ROLE.ADMIN);
			}
		}		
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy