// This file was generated by Mendix Modeler.
//
// WARNING: Only the following code will be retained when actions are regenerated:
// - the import list
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
// Special characters, e.g., é, ö, à, etc. are supported in comments.

package appcloudservices.actions;

import com.mendix.core.Core;
import com.mendix.systemwideinterfaces.core.IContext;
import com.mendix.systemwideinterfaces.core.ISession;
import com.mendix.webui.CustomJavaAction;
import java.util.Collection;

public class LogOutUser extends CustomJavaAction<java.lang.Boolean>
{
	private java.lang.String openId;

	public LogOutUser(IContext context, java.lang.String openId)
	{
		super(context);
		this.openId = openId;
	}

	@java.lang.Override
	public java.lang.Boolean executeAction() throws Exception
	{
		// BEGIN USER CODE
        Collection<? extends ISession> activeSessions = Core.getActiveSessions();
        for (ISession session : activeSessions) {
            if(session.getUser() != null && session.getUser().getName().equals(openId)) {
                Core.logout(session);
            }
        }
        return true;
		// END USER CODE
	}

	/**
	 * Returns a string representation of this action
	 */
	@java.lang.Override
	public java.lang.String toString()
	{
		return "LogOutUser";
	}

	// BEGIN EXTRA CODE
	// END EXTRA CODE
}
