alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Tomcat example source code file (SingleSignOnMessage.java)

This example Tomcat source code file (SingleSignOnMessage.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Tomcat tags/keywords

add_session, clustermessage, io, member, member, register_session, remove_session, serializable, singlesignonmessage, singlesignonmessage, string, string, stringbuffer, stringbuffer, update_session

The Tomcat SingleSignOnMessage.java source code

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.catalina.ha.authenticator;

import java.io.Serializable;

import org.apache.catalina.ha.ClusterMessage;
import org.apache.catalina.tribes.Member;

/**
 * Contains the SingleSignOn data, read and written by the ClusterSingleSignOn
 * @author Fabien Carrion
 */

public class SingleSignOnMessage implements ClusterMessage, Serializable {

    public static final int ADD_SESSION = 1;
    public static final int DEREGISTER_SESSION = 2;
    public static final int LOGOUT_SESSION = 3;
    public static final int REGISTER_SESSION = 4;
    public static final int UPDATE_SESSION = 5;
    public static final int REMOVE_SESSION = 6;

    private int action = -1;
    private String ssoId = null;
    private String ctxname = null;
    private String sessionId = null;
    private String authType = null;
    private String password = null;
    private String username = null;

    private Member address = null;
    private long timestamp = 0;
    private String uniqueId = null;

    public SingleSignOnMessage(Member source,
			       String ssoId,
			       String sessionId) {
        this.address = source;
	this.ssoId = ssoId;
	this.sessionId = sessionId;
    }
    
    /**
     * Get the address that this message originated from.  This would be set
     * if the message was being relayed from a host other than the one
     * that originally sent it.
     */
    public Member getAddress() {
	return address;
    }

    /**
     * Called by the cluster before sending it to the other
     * nodes.
     *
     * @param member Member
     */
    public void setAddress(Member member) {
	this.address = member;
    }

    /**
     * Timestamp message.
     *
     * @return long
     */
    public long getTimestamp() {
        return timestamp;
    }

    /**
     * Called by the cluster before sending out
     * the message.
     *
     * @param timestamp The timestamp
     */
    public void setTimestamp(long timestamp) {
        this.timestamp = timestamp;
    }

    /**
     * Each message must have a unique ID, in case of using async replication,
     * and a smart queue, this id is used to replace messages not yet sent.
     *
     * @return String
     */
    public String getUniqueId() {
	if (this.uniqueId != null)
	    return this.uniqueId;
	StringBuffer result = new StringBuffer(getSsoId());
	result.append("#-#");
	result.append(System.currentTimeMillis());
	return result.toString();
    }

    public void setUniqueId(String uniqueId) {
        this.uniqueId = uniqueId;
    }

    public int getAction() {
	return action;
    }

    public void setAction(int action) {
	this.action = action;
    }

    public String getSsoId() {
	return ssoId;
    }

    public void setSsoId(String ssoId) {
	this.ssoId = ssoId;
    }

    public String getContextName() {
	return ctxname;
    }

    public void setContextName(String ctxname) {
	this.ctxname = ctxname;
    }

    public String getSessionId() {
	return sessionId;
    }

    public void setSessionId(String sessionId) {
	this.sessionId = sessionId;
    }

    public String getAuthType() {
	return authType;
    }

    public void setAuthType(String authType) {
	this.authType = authType;
    }

    public String getPassword() {
	return password;
    }

    public void setPassword(String password) {
	this.password = password;
    }

    public String getUsername() {
	return username;
    }

    public void setUsername(String username) {
	this.username = username;
    }


    // --------------------------------------------------------- Public Methods

    /**
     * Return a String rendering of this object.
     */
    public String toString() {

        StringBuffer sb = new StringBuffer("SingleSignOnMessage[action=");
	sb.append(getAction()).append(", ssoId=").append(getSsoId());
	sb.append(", sessionId=").append(getSessionId()).append(", username=");
	sb.append(getUsername()).append("]");
        return (sb.toString());

    }

}

Other Tomcat examples (source code examples)

Here is a short list of links related to this Tomcat SingleSignOnMessage.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.