Hi Martin,

> Am 22.06.2017 um 21:38 schrieb Martin Grigorov <[email protected]>:
> 
>> 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 ?! :-)

Indirectly through QuickBuild yes: https://www.pmease.com/ - But I think that 
@icloud can be used by any user: https://support.apple.com/en-us/HT201342

> 
> 
>> 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