Browse Source

Do not throw NPE for equals(null) (#8910)

Change-Id: Ie9a658911c9f2722e518dedbe181c24e5ace07db
tags/7.1.11
Artur Signell 10 years ago
parent
commit
f0a4ea9c72

+ 4
- 0
server/src/com/vaadin/data/util/filter/Between.java View File

@@ -67,6 +67,10 @@ public class Between implements Filter {

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}

// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
return false;

+ 3
- 0
server/src/com/vaadin/data/util/filter/Compare.java View File

@@ -307,6 +307,9 @@ public abstract class Compare implements Filter {

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}

// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {

+ 4
- 0
server/src/com/vaadin/data/util/filter/IsNull.java View File

@@ -62,6 +62,10 @@ public final class IsNull implements Filter {

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}

// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
return false;

+ 4
- 0
server/src/com/vaadin/data/util/filter/Like.java View File

@@ -84,6 +84,10 @@ public class Like implements Filter {

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}

// Only objects of the same class can be equal
if (!getClass().equals(obj.getClass())) {
return false;

+ 3
- 0
server/src/com/vaadin/data/util/filter/SimpleStringFilter.java View File

@@ -82,6 +82,9 @@ public final class SimpleStringFilter implements Filter {

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}

// Only ones of the objects of the same class can be equal
if (!(obj instanceof SimpleStringFilter)) {

+ 44
- 0
server/tests/src/com/vaadin/data/util/sqlcontainer/filters/CompareTest.java View File

@@ -0,0 +1,44 @@
/*
* Copyright 2000-2013 Vaadin Ltd.
*
* Licensed 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 com.vaadin.data.util.sqlcontainer.filters;

import org.junit.Assert;
import org.junit.Test;

import com.vaadin.data.util.filter.Compare;

public class CompareTest {

@Test
public void testEquals() {
Compare c1 = new Compare.Equal("prop1", "val1");
Compare c2 = new Compare.Equal("prop1", "val1");
Assert.assertTrue(c1.equals(c2));
}

@Test
public void testDifferentTypeEquals() {
Compare c1 = new Compare.Equal("prop1", "val1");
Compare c2 = new Compare.Greater("prop1", "val1");
Assert.assertFalse(c1.equals(c2));
}

@Test
public void testEqualsNull() {
Compare c1 = new Compare.Equal("prop1", "val1");
Assert.assertFalse(c1.equals(null));
}
}

Loading…
Cancel
Save