Search in sources :

Example 11 with HttpSessionBindingEvent

use of javax.servlet.http.HttpSessionBindingEvent in project spring-framework by spring-projects.

the class MockHttpSession method clearAttributes.

/**
	 * Clear all of this session's attributes.
	 */
public void clearAttributes() {
    for (Iterator<Map.Entry<String, Object>> it = this.attributes.entrySet().iterator(); it.hasNext(); ) {
        Map.Entry<String, Object> entry = it.next();
        String name = entry.getKey();
        Object value = entry.getValue();
        it.remove();
        if (value instanceof HttpSessionBindingListener) {
            ((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
        }
    }
}
Also used : HttpSessionBindingEvent(javax.servlet.http.HttpSessionBindingEvent) HttpSessionBindingListener(javax.servlet.http.HttpSessionBindingListener) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 12 with HttpSessionBindingEvent

use of javax.servlet.http.HttpSessionBindingEvent in project spring-framework by spring-projects.

the class MockHttpSession method serializeState.

/**
	 * Serialize the attributes of this session into an object that can be
	 * turned into a byte array with standard Java serialization.
	 * @return a representation of this session's serialized state
	 */
public Serializable serializeState() {
    HashMap<String, Serializable> state = new HashMap<>();
    for (Iterator<Map.Entry<String, Object>> it = this.attributes.entrySet().iterator(); it.hasNext(); ) {
        Map.Entry<String, Object> entry = it.next();
        String name = entry.getKey();
        Object value = entry.getValue();
        it.remove();
        if (value instanceof Serializable) {
            state.put(name, (Serializable) value);
        } else {
            // unbind the attribute in this case.
            if (value instanceof HttpSessionBindingListener) {
                ((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
            }
        }
    }
    return state;
}
Also used : HttpSessionBindingEvent(javax.servlet.http.HttpSessionBindingEvent) Serializable(java.io.Serializable) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) HttpSessionBindingListener(javax.servlet.http.HttpSessionBindingListener) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 13 with HttpSessionBindingEvent

use of javax.servlet.http.HttpSessionBindingEvent in project spring-framework by spring-projects.

the class MockHttpSession method removeAttribute.

@Override
public void removeAttribute(String name) {
    assertIsValid();
    Assert.notNull(name, "Attribute name must not be null");
    Object value = this.attributes.remove(name);
    if (value instanceof HttpSessionBindingListener) {
        ((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
    }
}
Also used : HttpSessionBindingEvent(javax.servlet.http.HttpSessionBindingEvent) HttpSessionBindingListener(javax.servlet.http.HttpSessionBindingListener)

Example 14 with HttpSessionBindingEvent

use of javax.servlet.http.HttpSessionBindingEvent in project spring-framework by spring-projects.

the class MockHttpSession method setAttribute.

@Override
public void setAttribute(String name, Object value) {
    assertIsValid();
    Assert.notNull(name, "Attribute name must not be null");
    if (value != null) {
        this.attributes.put(name, value);
        if (value instanceof HttpSessionBindingListener) {
            ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(this, name, value));
        }
    } else {
        removeAttribute(name);
    }
}
Also used : HttpSessionBindingEvent(javax.servlet.http.HttpSessionBindingEvent) HttpSessionBindingListener(javax.servlet.http.HttpSessionBindingListener)

Example 15 with HttpSessionBindingEvent

use of javax.servlet.http.HttpSessionBindingEvent in project undertow by undertow-io.

the class SessionListenerBridge method attributeAdded.

@Override
public void attributeAdded(final Session session, final String name, final Object value) {
    if (name.startsWith(IO_UNDERTOW)) {
        return;
    }
    final HttpSessionImpl httpSession = SecurityActions.forSession(session, servletContext, false);
    applicationListeners.httpSessionAttributeAdded(httpSession, name, value);
    if (value instanceof HttpSessionBindingListener) {
        ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(httpSession, name, value));
    }
}
Also used : HttpSessionBindingEvent(javax.servlet.http.HttpSessionBindingEvent) HttpSessionImpl(io.undertow.servlet.spec.HttpSessionImpl) HttpSessionBindingListener(javax.servlet.http.HttpSessionBindingListener)

Aggregations

HttpSessionBindingEvent (javax.servlet.http.HttpSessionBindingEvent)16 HttpSessionBindingListener (javax.servlet.http.HttpSessionBindingListener)12 Map (java.util.Map)5 HashMap (java.util.HashMap)4 LinkedHashMap (java.util.LinkedHashMap)4 HttpSession (javax.servlet.http.HttpSession)3 HttpSessionAttributeListener (javax.servlet.http.HttpSessionAttributeListener)3 IOException (java.io.IOException)2 NotSerializableException (java.io.NotSerializableException)2 Serializable (java.io.Serializable)2 WriteAbortedException (java.io.WriteAbortedException)2 ServletContext (javax.servlet.ServletContext)2 ServletRequestEvent (javax.servlet.ServletRequestEvent)2 HttpServletRequest (javax.servlet.http.HttpServletRequest)2 ServletsMockitoUtil.createHttpSessionBindingEvent (jodd.petite.ServletsMockitoUtil.createHttpSessionBindingEvent)2 ServletsMockitoUtil.createServletRequestEvent (jodd.petite.ServletsMockitoUtil.createServletRequestEvent)2 Ses (jodd.petite.tst.Ses)2 RequestContextListener (jodd.servlet.RequestContextListener)2 Context (org.apache.catalina.Context)2 Test (org.junit.Test)2