You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2016/03/14 12:40:18 UTC
wicket git commit: WICKET-5991 Introduce models which use Java 8
supplier/consumer
Repository: wicket
Updated Branches:
refs/heads/master 62e6be756 -> 9ce6d42f7
WICKET-5991 Introduce models which use Java 8 supplier/consumer
Remove SupplierModel.
IModel is a @FunctionalInterface now and covers the use cases
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/9ce6d42f
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/9ce6d42f
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/9ce6d42f
Branch: refs/heads/master
Commit: 9ce6d42f71d48c77843a13435c6534fe3f2f748d
Parents: 62e6be7
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Mar 14 12:38:47 2016 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Mar 14 12:38:47 2016 +0100
----------------------------------------------------------------------
.../wicket/model/lambda/SupplierModel.java | 86 ------------------
.../wicket/model/lambda/SupplierModelTest.java | 92 --------------------
2 files changed, 178 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/9ce6d42f/wicket-core/src/main/java/org/apache/wicket/model/lambda/SupplierModel.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/model/lambda/SupplierModel.java b/wicket-core/src/main/java/org/apache/wicket/model/lambda/SupplierModel.java
deleted file mode 100644
index 68866d8..0000000
--- a/wicket-core/src/main/java/org/apache/wicket/model/lambda/SupplierModel.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * 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.model.lambda;
-
-import java.util.Objects;
-
-import org.apache.wicket.model.IModel;
-import org.apache.wicket.util.lang.Args;
-
-/**
- * A model that gets its value from a {@link java.util.function.Supplier}.
- *
- * @param <T>
- * - type of the model object
- */
-public class SupplierModel<T> implements IModel<T>
-{
- /**
- * Supplies the model object.
- */
- private final WicketSupplier<T> getter;
-
- /**
- * Constructor.
- *
- * @param getter
- * The getter of the model object
- */
- public SupplierModel(WicketSupplier<T> getter)
- {
- this.getter = Args.notNull(getter, "getter");
- }
-
-
- @Override
- public T getObject()
- {
- return getter.get();
- }
-
- @Override
- public final void setObject(T object)
- {
- IModel.super.setObject(object);
- }
-
- @Override
- public int hashCode()
- {
- return org.apache.wicket.util.lang.Objects.hashCode(getter);
- }
-
- @Override
- public boolean equals(Object obj)
- {
- if (obj == null)
- {
- return false;
- }
- if (getClass() != obj.getClass())
- {
- return false;
- }
- final SupplierModel<?> other = (SupplierModel<?>) obj;
- if (!Objects.equals(this.getter, other.getter))
- {
- return false;
- }
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/wicket/blob/9ce6d42f/wicket-core/src/test/java/org/apache/wicket/model/lambda/SupplierModelTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/lambda/SupplierModelTest.java b/wicket-core/src/test/java/org/apache/wicket/model/lambda/SupplierModelTest.java
deleted file mode 100644
index 384dd89..0000000
--- a/wicket-core/src/test/java/org/apache/wicket/model/lambda/SupplierModelTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.model.lambda;
-
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import org.apache.wicket.core.util.lang.WicketObjects;
-import org.apache.wicket.model.IModel;
-import org.junit.Test;
-
-/**
- * Tests for {@link SupplierModel}
- */
-public class SupplierModelTest
-{
- @Test
- public void nocaching()
- {
- // given
- Person person = mock(Person.class);
- when(person.getName()).thenReturn("The person's name");
- IModel<String> personNameModel = new SupplierModel<>(person::getName);
-
- // when
-
- // once
- personNameModel.getObject();
- personNameModel.getObject();
-
- personNameModel.detach();
- // twice
- personNameModel.getObject();
- personNameModel.getObject();
- personNameModel.getObject();
-
- // then
- verify(person, times(5)).getName();
- }
-
- @Test
- public void serialize()
- {
- Person person = new Person();
- final String personName = "The person's name";
- person.setName(personName);
- final WicketSupplier<String> getName = person::getName;
- IModel<String> personNameModel = new SupplierModel<>(getName);
-
- final IModel<String> clone = WicketObjects.cloneObject(personNameModel);
- assertThat(clone.getObject(), is(personName));
- }
-
- @Test
- public void equality()
- {
- Person person = new Person();
- final WicketSupplier<String> getName = person::getName;
- IModel<String> personNameModel1 = new SupplierModel<>(getName);
- IModel<String> personNameModel2 = new SupplierModel<>(getName);
- assertEquals(personNameModel1, personNameModel2);
- }
-
- @Test
- public void hashcode()
- {
- Person person = new Person();
- final WicketSupplier<String> getName = person::getName;
- IModel<String> personNameModel1 = new SupplierModel<>(getName);
- IModel<String> personNameModel2 = new SupplierModel<>(getName);
- assertEquals(personNameModel1.hashCode(), personNameModel2.hashCode());
- }
-}