001 /* 002 * Copyright 2002-2007 the original author or authors. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 005 * use this file except in compliance with the License. You may obtain a copy of 006 * the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 013 * License for the specific language governing permissions and limitations under 014 * the License. 015 */ 016 package org.springframework.richclient.table; 017 018 import java.util.Date; 019 020 import org.springframework.context.support.StaticMessageSource; 021 import org.springframework.richclient.test.TestBean; 022 023 /** 024 * Testcase for BeanTableModel 025 * 026 * @author Peter De Bruycker 027 */ 028 public class BeanTableModelTests extends AbstractBaseTableModelTests { 029 030 public void testConstructorWithoutMessageSource() { 031 BeanTableModel beanTableModel = new BeanTableModel(TestBean.class) { 032 033 protected String[] createColumnPropertyNames() { 034 return new String[] { "stringProperty", "dateProperty" }; 035 } 036 037 protected Class[] createColumnClasses() { 038 return new Class[] { String.class, Date.class }; 039 } 040 }; 041 042 try { 043 beanTableModel.setRowNumbers(false); 044 fail("Must throw IllegalStateException: no messagesource set"); 045 } 046 catch (IllegalStateException e) { 047 // test passes 048 } 049 050 StaticMessageSource messageSource = new StaticMessageSource(); 051 beanTableModel.setMessageSource(messageSource); 052 053 beanTableModel.setRowNumbers(false); 054 } 055 056 protected BaseTableModel getBaseTableModel() { 057 return new BeanTableModel(TestBean.class, new StaticMessageSource()) { 058 059 protected String[] createColumnPropertyNames() { 060 return new String[] { "stringProperty", "dateProperty" }; 061 } 062 063 protected Class[] createColumnClasses() { 064 return new Class[] { String.class, Date.class }; 065 } 066 }; 067 } 068 }