On Thu, Jun 22, 2017 at 9:35 PM, <[email protected]> wrote:

> Repository: wicket
> Updated Branches:
>   refs/heads/wicket-6.x 75a4fdcba -> fe5573ee5
>
>
> fix Sesssion invalidate method dose not work after deserialisation
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/fe5573ee
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/fe5573ee
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/fe5573ee
>
> Branch: refs/heads/wicket-6.x
> Commit: fe5573ee58354600ae79c9af2cc8d65178bed481
> Parents: 75a4fdc
> Author: Tomohiro Nagai <[email protected]>
>

Is Apple using Wicket ?! :-)


> Authored: Thu Jun 22 21:40:51 2017 +0900
> Committer: Tomohiro Nagai <[email protected]>
> Committed: Thu Jun 22 21:40:51 2017 +0900
>
> ----------------------------------------------------------------------
>  .../main/java/org/apache/wicket/Session.java    |  2 +-
>  .../wicket/session/SessionInvalidateTest.java   | 64 ++++++++++++++++++++
>  2 files changed, 65 insertions(+), 1 deletion(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> fe5573ee/wicket-core/src/main/java/org/apache/wicket/Session.java
> ----------------------------------------------------------------------
> diff --git a/wicket-core/src/main/java/org/apache/wicket/Session.java
> b/wicket-core/src/main/java/org/apache/wicket/Session.java
> index 730cf91..5bab1c6 100644
> --- a/wicket-core/src/main/java/org/apache/wicket/Session.java
> +++ b/wicket-core/src/main/java/org/apache/wicket/Session.java
> @@ -518,7 +518,7 @@ public abstract class Session implements IClusterable,
> IEventSink
>          */
>         private void destroy()
>         {
> -               if (sessionStore != null)
> +               if (getSessionStore() != null)
>                 {
>                         sessionStore.invalidate(
> RequestCycle.get().getRequest());
>                         sessionStore = null;
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/
> fe5573ee/wicket-core/src/test/java/org/apache/wicket/
> session/SessionInvalidateTest.java
> ----------------------------------------------------------------------
> diff --git 
> a/wicket-core/src/test/java/org/apache/wicket/session/SessionInvalidateTest.java
> b/wicket-core/src/test/java/org/apache/wicket/session/
> SessionInvalidateTest.java
> new file mode 100644
> index 0000000..c4c54d8
> --- /dev/null
> +++ b/wicket-core/src/test/java/org/apache/wicket/session/
> SessionInvalidateTest.java
> @@ -0,0 +1,64 @@
> +/*
> + * 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.wicket.session;
> +
> +import org.apache.wicket.ThreadContext;
> +import org.apache.wicket.Session;
> +import org.apache.wicket.protocol.http.WebApplication;
> +import org.apache.wicket.protocol.http.mock.MockServletContext;
> +import org.apache.wicket.core.util.lang.WicketObjects;
> +import org.apache.wicket.WicketTestCase;
> +import org.junit.Test;
> +import org.junit.Before;
> +
> +public class SessionInvalidateTest extends WicketTestCase
> +{
> +  private ISessionStore sessionStore;
> +  private Session session;
> +
> +  @Before
> +  public void setUp()
> +  {
> +    final WebApplication application = tester.getApplication();
> +    ThreadContext.setApplication(application);
> +    sessionStore = application.getSessionStore();
> +
> +    session = tester.getSession();
> +    session.bind();
> +  }
> +
> +  @Test
> +  public void sessionInvalidate()
> +  {
> +    sessionStore.bind(null, session);
> +    assertNotNull(sessionStore.lookup(null));
> +
> +    session.invalidateNow();
> +    assertNull(sessionStore.lookup(null));
> +  }
> +
> +  @Test
> +  public void sessionInvalidateAfterDeserialize()
> +  {
> +    sessionStore.bind(null, session);
> +    assertNotNull(sessionStore.lookup(null));
> +
> +    final Session copy = (Session)WicketObjects.cloneObject(session);
> +    copy.invalidateNow();
> +    assertNull(sessionStore.lookup(null));
> +  }
> +}
>
>

Reply via email to