Moved tests from testsuite to context
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2005 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
* @since 17.08.2004
|
||||||
|
*/
|
||||||
|
public class BeanWithObjectProperty {
|
||||||
|
|
||||||
|
private Object object;
|
||||||
|
|
||||||
|
public Object getObject() {
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setObject(Object object) {
|
||||||
|
this.object = object;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2007 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
import org.springframework.core.enums.ShortCodedLabeledEnum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Rob Harrop
|
||||||
|
*/
|
||||||
|
public class Colour extends ShortCodedLabeledEnum {
|
||||||
|
|
||||||
|
public static final Colour RED = new Colour(0, "RED");
|
||||||
|
public static final Colour BLUE = new Colour(1, "BLUE");
|
||||||
|
public static final Colour GREEN = new Colour(2, "GREEN");
|
||||||
|
public static final Colour PURPLE = new Colour(3, "PURPLE");
|
||||||
|
|
||||||
|
private Colour(int code, String label) {
|
||||||
|
super(code, label);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2007 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.BeanNameAware;
|
||||||
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
* @since 21.08.2003
|
||||||
|
*/
|
||||||
|
public class DerivedTestBean extends TestBean implements Serializable, BeanNameAware, DisposableBean {
|
||||||
|
|
||||||
|
private String beanName;
|
||||||
|
|
||||||
|
private boolean initialized;
|
||||||
|
|
||||||
|
private boolean destroyed;
|
||||||
|
|
||||||
|
|
||||||
|
public DerivedTestBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public DerivedTestBean(String[] names) {
|
||||||
|
if (names == null || names.length < 2) {
|
||||||
|
throw new IllegalArgumentException("Invalid names array");
|
||||||
|
}
|
||||||
|
setName(names[0]);
|
||||||
|
setBeanName(names[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static DerivedTestBean create(String[] names) {
|
||||||
|
return new DerivedTestBean(names);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setBeanName(String beanName) {
|
||||||
|
if (this.beanName == null || beanName == null) {
|
||||||
|
this.beanName = beanName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBeanName() {
|
||||||
|
return beanName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpouseRef(String name) {
|
||||||
|
setSpouse(new TestBean(name));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void initialize() {
|
||||||
|
this.initialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean wasInitialized() {
|
||||||
|
return initialized;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void destroy() {
|
||||||
|
this.destroyed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean wasDestroyed() {
|
||||||
|
return destroyed;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2006 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
* @since 07.03.2006
|
||||||
|
*/
|
||||||
|
public class FieldAccessBean {
|
||||||
|
|
||||||
|
public String name;
|
||||||
|
|
||||||
|
protected int age;
|
||||||
|
|
||||||
|
private TestBean spouse;
|
||||||
|
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean getSpouse() {
|
||||||
|
return spouse;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2005 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
public interface INestedTestBean {
|
||||||
|
|
||||||
|
public String getCompany();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2002-2005 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
public interface IOther {
|
||||||
|
|
||||||
|
void absquatulate();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2007 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface used for {@link org.springframework.beans.TestBean}.
|
||||||
|
*
|
||||||
|
* <p>Two methods are the same as on Person, but if this
|
||||||
|
* extends person it breaks quite a few tests..
|
||||||
|
*
|
||||||
|
* @author Rod Johnson
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
*/
|
||||||
|
public interface ITestBean {
|
||||||
|
|
||||||
|
int getAge();
|
||||||
|
|
||||||
|
void setAge(int age);
|
||||||
|
|
||||||
|
String getName();
|
||||||
|
|
||||||
|
void setName(String name);
|
||||||
|
|
||||||
|
ITestBean getSpouse();
|
||||||
|
|
||||||
|
void setSpouse(ITestBean spouse);
|
||||||
|
|
||||||
|
ITestBean[] getSpouses();
|
||||||
|
|
||||||
|
String[] getStringArray();
|
||||||
|
|
||||||
|
void setStringArray(String[] stringArray);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Throws a given (non-null) exception.
|
||||||
|
*/
|
||||||
|
void exceptional(Throwable t) throws Throwable;
|
||||||
|
|
||||||
|
Object returnsThis();
|
||||||
|
|
||||||
|
INestedTestBean getDoctor();
|
||||||
|
|
||||||
|
INestedTestBean getLawyer();
|
||||||
|
|
||||||
|
IndexedTestBean getNestedIndexedBean();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increment the age by one.
|
||||||
|
* @return the previous age
|
||||||
|
*/
|
||||||
|
int haveBirthday();
|
||||||
|
|
||||||
|
void unreliableFileOperation() throws IOException;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2006 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.SortedMap;
|
||||||
|
import java.util.SortedSet;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
* @since 11.11.2003
|
||||||
|
*/
|
||||||
|
public class IndexedTestBean {
|
||||||
|
|
||||||
|
private TestBean[] array;
|
||||||
|
|
||||||
|
private Collection collection;
|
||||||
|
|
||||||
|
private List list;
|
||||||
|
|
||||||
|
private Set set;
|
||||||
|
|
||||||
|
private SortedSet sortedSet;
|
||||||
|
|
||||||
|
private Map map;
|
||||||
|
|
||||||
|
private SortedMap sortedMap;
|
||||||
|
|
||||||
|
|
||||||
|
public IndexedTestBean() {
|
||||||
|
this(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IndexedTestBean(boolean populate) {
|
||||||
|
if (populate) {
|
||||||
|
populate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void populate() {
|
||||||
|
TestBean tb0 = new TestBean("name0", 0);
|
||||||
|
TestBean tb1 = new TestBean("name1", 0);
|
||||||
|
TestBean tb2 = new TestBean("name2", 0);
|
||||||
|
TestBean tb3 = new TestBean("name3", 0);
|
||||||
|
TestBean tb4 = new TestBean("name4", 0);
|
||||||
|
TestBean tb5 = new TestBean("name5", 0);
|
||||||
|
TestBean tb6 = new TestBean("name6", 0);
|
||||||
|
TestBean tb7 = new TestBean("name7", 0);
|
||||||
|
TestBean tbX = new TestBean("nameX", 0);
|
||||||
|
TestBean tbY = new TestBean("nameY", 0);
|
||||||
|
this.array = new TestBean[] {tb0, tb1};
|
||||||
|
this.list = new ArrayList();
|
||||||
|
this.list.add(tb2);
|
||||||
|
this.list.add(tb3);
|
||||||
|
this.set = new TreeSet();
|
||||||
|
this.set.add(tb6);
|
||||||
|
this.set.add(tb7);
|
||||||
|
this.map = new HashMap();
|
||||||
|
this.map.put("key1", tb4);
|
||||||
|
this.map.put("key2", tb5);
|
||||||
|
this.map.put("key.3", tb5);
|
||||||
|
List list = new ArrayList();
|
||||||
|
list.add(tbX);
|
||||||
|
list.add(tbY);
|
||||||
|
this.map.put("key4", list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public TestBean[] getArray() {
|
||||||
|
return array;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArray(TestBean[] array) {
|
||||||
|
this.array = array;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Collection getCollection() {
|
||||||
|
return collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCollection(Collection collection) {
|
||||||
|
this.collection = collection;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List getList() {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setList(List list) {
|
||||||
|
this.list = list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set getSet() {
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSet(Set set) {
|
||||||
|
this.set = set;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SortedSet getSortedSet() {
|
||||||
|
return sortedSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSortedSet(SortedSet sortedSet) {
|
||||||
|
this.sortedSet = sortedSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map getMap() {
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMap(Map map) {
|
||||||
|
this.map = map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SortedMap getSortedMap() {
|
||||||
|
return sortedMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSortedMap(SortedMap sortedMap) {
|
||||||
|
this.sortedMap = sortedMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2005 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple nested test bean used for testing bean factories, AOP framework etc.
|
||||||
|
*
|
||||||
|
* @author Trevor D. Cook
|
||||||
|
* @since 30.09.2003
|
||||||
|
*/
|
||||||
|
public class NestedTestBean implements INestedTestBean {
|
||||||
|
|
||||||
|
private String company = "";
|
||||||
|
|
||||||
|
public NestedTestBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public NestedTestBean(String company) {
|
||||||
|
setCompany(company);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCompany(String company) {
|
||||||
|
this.company = (company != null ? company : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCompany() {
|
||||||
|
return company;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (!(obj instanceof NestedTestBean)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
NestedTestBean ntb = (NestedTestBean) obj;
|
||||||
|
return this.company.equals(ntb.company);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int hashCode() {
|
||||||
|
return this.company.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
return "NestedTestBean: " + this.company;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2005 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Rod Johnson
|
||||||
|
*/
|
||||||
|
public interface Person {
|
||||||
|
|
||||||
|
String getName();
|
||||||
|
void setName(String name);
|
||||||
|
int getAge();
|
||||||
|
void setAge(int i);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test for non-property method matching.
|
||||||
|
* If the parameter is a Throwable, it will be thrown rather than
|
||||||
|
* returned.
|
||||||
|
*/
|
||||||
|
Object echo(Object o) throws Throwable;
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2005 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serializable implementation of the Person interface.
|
||||||
|
*
|
||||||
|
* @author Rod Johnson
|
||||||
|
*/
|
||||||
|
public class SerializablePerson implements Person, Serializable {
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
private int age;
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAge(int age) {
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object echo(Object o) throws Throwable {
|
||||||
|
if (o instanceof Throwable) {
|
||||||
|
throw (Throwable) o;
|
||||||
|
}
|
||||||
|
return o;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean equals(Object other) {
|
||||||
|
if (!(other instanceof SerializablePerson)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
SerializablePerson p = (SerializablePerson) other;
|
||||||
|
return p.age == age && ObjectUtils.nullSafeEquals(name, p.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,437 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2002-2008 the original author or authors.
|
||||||
|
*
|
||||||
|
* 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 org.springframework.beans;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.BeanFactory;
|
||||||
|
import org.springframework.beans.factory.BeanFactoryAware;
|
||||||
|
import org.springframework.beans.factory.BeanNameAware;
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Simple test bean used for testing bean factories, the AOP framework etc.
|
||||||
|
*
|
||||||
|
* @author Rod Johnson
|
||||||
|
* @author Juergen Hoeller
|
||||||
|
* @since 15 April 2001
|
||||||
|
*/
|
||||||
|
public class TestBean implements BeanNameAware, BeanFactoryAware, ITestBean, IOther, Comparable {
|
||||||
|
|
||||||
|
private String beanName;
|
||||||
|
|
||||||
|
private String country;
|
||||||
|
|
||||||
|
private BeanFactory beanFactory;
|
||||||
|
|
||||||
|
private boolean postProcessed;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String sex;
|
||||||
|
|
||||||
|
private int age;
|
||||||
|
|
||||||
|
private boolean jedi;
|
||||||
|
|
||||||
|
private ITestBean[] spouses;
|
||||||
|
|
||||||
|
private String touchy;
|
||||||
|
|
||||||
|
private String[] stringArray;
|
||||||
|
|
||||||
|
private Integer[] someIntegerArray;
|
||||||
|
|
||||||
|
private Date date = new Date();
|
||||||
|
|
||||||
|
private Float myFloat = new Float(0.0);
|
||||||
|
|
||||||
|
private Collection friends = new LinkedList();
|
||||||
|
|
||||||
|
private Set someSet = new HashSet();
|
||||||
|
|
||||||
|
private Map someMap = new HashMap();
|
||||||
|
|
||||||
|
private List someList = new ArrayList();
|
||||||
|
|
||||||
|
private Properties someProperties = new Properties();
|
||||||
|
|
||||||
|
private INestedTestBean doctor = new NestedTestBean();
|
||||||
|
|
||||||
|
private INestedTestBean lawyer = new NestedTestBean();
|
||||||
|
|
||||||
|
private IndexedTestBean nestedIndexedBean;
|
||||||
|
|
||||||
|
private boolean destroyed;
|
||||||
|
|
||||||
|
private Number someNumber;
|
||||||
|
|
||||||
|
private Colour favouriteColour;
|
||||||
|
|
||||||
|
private Boolean someBoolean;
|
||||||
|
|
||||||
|
private List otherColours;
|
||||||
|
|
||||||
|
private List pets;
|
||||||
|
|
||||||
|
|
||||||
|
public TestBean() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(ITestBean spouse) {
|
||||||
|
this.spouses = new ITestBean[] {spouse};
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(String name, int age) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(ITestBean spouse, Properties someProperties) {
|
||||||
|
this.spouses = new ITestBean[] {spouse};
|
||||||
|
this.someProperties = someProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(List someList) {
|
||||||
|
this.someList = someList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(Set someSet) {
|
||||||
|
this.someSet = someSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(Map someMap) {
|
||||||
|
this.someMap = someMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TestBean(Properties someProperties) {
|
||||||
|
this.someProperties = someProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setBeanName(String beanName) {
|
||||||
|
this.beanName = beanName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBeanName() {
|
||||||
|
return beanName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBeanFactory(BeanFactory beanFactory) {
|
||||||
|
this.beanFactory = beanFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BeanFactory getBeanFactory() {
|
||||||
|
return beanFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPostProcessed(boolean postProcessed) {
|
||||||
|
this.postProcessed = postProcessed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isPostProcessed() {
|
||||||
|
return postProcessed;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSex() {
|
||||||
|
return sex;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSex(String sex) {
|
||||||
|
this.sex = sex;
|
||||||
|
if (this.name == null) {
|
||||||
|
this.name = sex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAge(int age) {
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isJedi() {
|
||||||
|
return jedi;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJedi(boolean jedi) {
|
||||||
|
this.jedi = jedi;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ITestBean getSpouse() {
|
||||||
|
return (spouses != null ? spouses[0] : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpouse(ITestBean spouse) {
|
||||||
|
this.spouses = new ITestBean[] {spouse};
|
||||||
|
}
|
||||||
|
|
||||||
|
public ITestBean[] getSpouses() {
|
||||||
|
return spouses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTouchy() {
|
||||||
|
return touchy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTouchy(String touchy) throws Exception {
|
||||||
|
if (touchy.indexOf('.') != -1) {
|
||||||
|
throw new Exception("Can't contain a .");
|
||||||
|
}
|
||||||
|
if (touchy.indexOf(',') != -1) {
|
||||||
|
throw new NumberFormatException("Number format exception: contains a ,");
|
||||||
|
}
|
||||||
|
this.touchy = touchy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCountry() {
|
||||||
|
return country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCountry(String country) {
|
||||||
|
this.country = country;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getStringArray() {
|
||||||
|
return stringArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStringArray(String[] stringArray) {
|
||||||
|
this.stringArray = stringArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer[] getSomeIntegerArray() {
|
||||||
|
return someIntegerArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeIntegerArray(Integer[] someIntegerArray) {
|
||||||
|
this.someIntegerArray = someIntegerArray;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDate() {
|
||||||
|
return date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDate(Date date) {
|
||||||
|
this.date = date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Float getMyFloat() {
|
||||||
|
return myFloat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMyFloat(Float myFloat) {
|
||||||
|
this.myFloat = myFloat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Collection getFriends() {
|
||||||
|
return friends;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFriends(Collection friends) {
|
||||||
|
this.friends = friends;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set getSomeSet() {
|
||||||
|
return someSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeSet(Set someSet) {
|
||||||
|
this.someSet = someSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map getSomeMap() {
|
||||||
|
return someMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeMap(Map someMap) {
|
||||||
|
this.someMap = someMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List getSomeList() {
|
||||||
|
return someList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeList(List someList) {
|
||||||
|
this.someList = someList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Properties getSomeProperties() {
|
||||||
|
return someProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeProperties(Properties someProperties) {
|
||||||
|
this.someProperties = someProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
public INestedTestBean getDoctor() {
|
||||||
|
return doctor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDoctor(INestedTestBean doctor) {
|
||||||
|
this.doctor = doctor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public INestedTestBean getLawyer() {
|
||||||
|
return lawyer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLawyer(INestedTestBean lawyer) {
|
||||||
|
this.lawyer = lawyer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Number getSomeNumber() {
|
||||||
|
return someNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeNumber(Number someNumber) {
|
||||||
|
this.someNumber = someNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Colour getFavouriteColour() {
|
||||||
|
return favouriteColour;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFavouriteColour(Colour favouriteColour) {
|
||||||
|
this.favouriteColour = favouriteColour;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getSomeBoolean() {
|
||||||
|
return someBoolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSomeBoolean(Boolean someBoolean) {
|
||||||
|
this.someBoolean = someBoolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IndexedTestBean getNestedIndexedBean() {
|
||||||
|
return nestedIndexedBean;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNestedIndexedBean(IndexedTestBean nestedIndexedBean) {
|
||||||
|
this.nestedIndexedBean = nestedIndexedBean;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List getOtherColours() {
|
||||||
|
return otherColours;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOtherColours(List otherColours) {
|
||||||
|
this.otherColours = otherColours;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List getPets() {
|
||||||
|
return pets;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPets(List pets) {
|
||||||
|
this.pets = pets;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.springframework.beans.ITestBean#exceptional(Throwable)
|
||||||
|
*/
|
||||||
|
public void exceptional(Throwable t) throws Throwable {
|
||||||
|
if (t != null) {
|
||||||
|
throw t;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void unreliableFileOperation() throws IOException {
|
||||||
|
throw new IOException();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @see org.springframework.beans.ITestBean#returnsThis()
|
||||||
|
*/
|
||||||
|
public Object returnsThis() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see org.springframework.beans.IOther#absquatulate()
|
||||||
|
*/
|
||||||
|
public void absquatulate() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public int haveBirthday() {
|
||||||
|
return age++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void destroy() {
|
||||||
|
this.destroyed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean wasDestroyed() {
|
||||||
|
return destroyed;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean equals(Object other) {
|
||||||
|
if (this == other) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (other == null || !(other instanceof TestBean)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
TestBean tb2 = (TestBean) other;
|
||||||
|
return (ObjectUtils.nullSafeEquals(this.name, tb2.name) && this.age == tb2.age);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int hashCode() {
|
||||||
|
return this.age;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int compareTo(Object other) {
|
||||||
|
if (this.name != null && other instanceof TestBean) {
|
||||||
|
return this.name.compareTo(((TestBean) other).getName());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -20,6 +20,7 @@ import java.beans.PropertyEditorSupport;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.springframework.beans.FieldAccessBean;
|
import org.springframework.beans.FieldAccessBean;
|
||||||
import org.springframework.beans.MutablePropertyValues;
|
import org.springframework.beans.MutablePropertyValues;
|
||||||
@@ -105,7 +106,7 @@ public class DataBinderFieldAccessTests extends TestCase {
|
|||||||
assertTrue("Correct number of age errors", br.getFieldErrorCount("age") == 1);
|
assertTrue("Correct number of age errors", br.getFieldErrorCount("age") == 1);
|
||||||
assertEquals("32x", binder.getBindingResult().getFieldValue("age"));
|
assertEquals("32x", binder.getBindingResult().getFieldValue("age"));
|
||||||
assertEquals("32x", binder.getBindingResult().getFieldError("age").getRejectedValue());
|
assertEquals("32x", binder.getBindingResult().getFieldError("age").getRejectedValue());
|
||||||
assertEquals(0, tb.getAge());
|
Assert.assertEquals(0, tb.getAge());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,7 +150,7 @@ public class DataBinderFieldAccessTests extends TestCase {
|
|||||||
assertTrue("Correct number of age errors", br.getFieldErrorCount("age") == 1);
|
assertTrue("Correct number of age errors", br.getFieldErrorCount("age") == 1);
|
||||||
assertEquals("32x", binder.getBindingResult().getFieldValue("age"));
|
assertEquals("32x", binder.getBindingResult().getFieldValue("age"));
|
||||||
assertEquals("32x", binder.getBindingResult().getFieldError("age").getRejectedValue());
|
assertEquals("32x", binder.getBindingResult().getFieldError("age").getRejectedValue());
|
||||||
assertEquals(0, tb.getAge());
|
Assert.assertEquals(0, tb.getAge());
|
||||||
|
|
||||||
assertTrue("Does not have spouse errors", !br.hasFieldErrors("spouse"));
|
assertTrue("Does not have spouse errors", !br.hasFieldErrors("spouse"));
|
||||||
assertEquals("Kerry", binder.getBindingResult().getFieldValue("spouse"));
|
assertEquals("Kerry", binder.getBindingResult().getFieldValue("spouse"));
|
||||||
@@ -27,6 +27,7 @@ import java.util.Set;
|
|||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
import junit.framework.Assert;
|
||||||
|
|
||||||
import org.springframework.beans.BeanWithObjectProperty;
|
import org.springframework.beans.BeanWithObjectProperty;
|
||||||
import org.springframework.beans.DerivedTestBean;
|
import org.springframework.beans.DerivedTestBean;
|
||||||
@@ -288,7 +289,7 @@ public class DataBinderTests extends TestCase {
|
|||||||
MutablePropertyValues pvs = new MutablePropertyValues();
|
MutablePropertyValues pvs = new MutablePropertyValues();
|
||||||
pvs.addPropertyValue("object", "1");
|
pvs.addPropertyValue("object", "1");
|
||||||
binder.bind(pvs);
|
binder.bind(pvs);
|
||||||
assertEquals(new Integer(1), tb.getObject());
|
Assert.assertEquals(new Integer(1), tb.getObject());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testBindingWithAllowedFields() throws Exception {
|
public void testBindingWithAllowedFields() throws Exception {
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
typeMismatch=Field {0} did not have correct type
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
typeMismatch=Field {0} did not have correct type
|
||||||
|
age=Age
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
typeMismatch=Field {0} did not have correct type
|
||||||
|
person.age=Person Age
|
||||||
Reference in New Issue
Block a user