@Inject private BeanModelSource beanModelSource; @Inject private Messages messages; public BeanModel<Celebrity> getModel() { return beanModelSource.createDisplayModel(Celebrity.class, messages); }
public BeanModel getSimpleTrackModel() { return beanModelSource.create(SimpleTrack.class, false, messages); } }
protected final void train_createEditModel(BeanModelSource source, Class beanClass, Messages messages, BeanModel model) { expect(source.createEditModel(beanClass, messages)).andReturn(model); }
public BeanModel getModel() { if (model == null) { model = modelSource.createDisplayModel(object.getClass(), overrides.getContainerMessages()); BeanModelUtils.modify(model, add, include, exclude, reorder); } return model; }
@Test public void filtering_out_read_only_properties() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(ReadOnlyBean.class, true, messages); assertEquals(model.getPropertyNames(), Arrays.asList("value")); model = source.create(ReadOnlyBean.class, false, messages); assertEquals(model.getPropertyNames(), Arrays.asList("value", "readOnly")); verify(); }
@SuppressWarnings("unchecked") public BeanModel<?> getModel() { return beanModelSource.createEditModel(context.getPropertyType(), context.getContainerMessages()); } }
public Object get() { // Get the default row type from the data source GridDataSource gridDataSource = source; Class rowType = gridDataSource.getRowType(); if (renderTableIfEmpty || rowType == null) throw new RuntimeException( String.format( "Unable to determine the bean type for rows from %s. You should bind the model parameter explicitly.", gridDataSource)); // Properties do not have to be read/write return modelSource.createDisplayModel(rowType, overrides.getOverrideMessages()); }
@Test public void filtering_out_read_only_properties() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(ReadOnlyBean.class, true, messages); assertEquals(model.getPropertyNames(), Arrays.asList("value")); model = source.create(ReadOnlyBean.class, false, messages); assertEquals(model.getPropertyNames(), Arrays.asList("value", "readOnly")); verify(); }
boolean onPrepareFromForm() { resources.triggerEvent(EventConstants.PREPARE, null, null); if (model == null) { Class beanType = resources.getBoundType("object"); model = beanModelSource.createEditModel(beanType, resources.getContainerMessages()); BeanModelUtils.modify(model, add, include, exclude, reorder); } return true; }
public Object get() { // Get the default row type from the data source GridDataSource gridDataSource = (GridDataSource) getSource(); Class rowType = gridDataSource.getRowType(); if (rowType == null) throw new RuntimeException( String.format( "Unable to determine the bean type for rows from %s. You should bind the model parameter explicitly.", gridDataSource)); // Properties do not have to be read/write return modelSource.createDisplayModel(rowType, overrides.getOverrideMessages()); }
@Test public void nonvisual_properties_are_excluded() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(NonVisualBean.class, true, messages); assertEquals(model.getPropertyNames(), Arrays.asList("name")); verify(); }
model = modelSource.createEditModel(type, overrides.getOverrideMessages());
public BeanModel getModel() BeanModel<Object> model = beanModelSource.createDisplayModel(Object.class, messages); model.add("random", new PropertyConduit() {
@Test public void order_via_annotation() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(StoogeBean.class, true, messages); assertEquals(model.getPropertyNames(), Arrays.asList("larry", "moe", "shemp", "curly")); verify(); }
void pageLoaded() { model = beanModelSource.createDisplayModel(Page.class, messages); model.addExpression("selector", "selector.toString()"); model.addExpression("assemblyTime", "stats.assemblyTime"); model.addExpression("componentCount", "stats.componentCount"); model.addExpression("weight", "stats.weight"); model.reorder("name", "selector", "assemblyTime", "componentCount", "weight"); }
@Test public void default_properties_exclude_write_only() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(WriteOnlyBean.class, false, messages); assertEquals(model.getPropertyNames(), Arrays.asList("readOnly", "readWrite")); verify(); }
public BeanModel<Track> getModel() { BeanModel<Track> model = beanModelSource.createDisplayModel(Track.class,messages); //For every loop iteration after the first remove one more column int toRemove = Math.min(index, model.getPropertyNames().size()) - 1; for(int i = 0;i<toRemove;i++) { model.exclude(model.getPropertyNames().get(0)); } //Disable sorting for all columns except rating.The reason for that is because all //grids share the same GridPaginationModel but not the same BeanModel.This might result to //a sort of a column that is included in ones grid model but not in another.The only column //that is included in all models is the rating column for(String propertyName:(Collection<String>)model.getPropertyNames()) { if(!propertyName.equals("rating")) { model.get(propertyName).sortable(false); } } return model; }
@Test public void default_properties_exclude_write_only() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(WriteOnlyBean.class, false, messages); assertEquals(model.getPropertyNames(), Arrays.asList("readOnly", "readWrite")); verify(); }
@Test public void handling_nested_generics() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel<BeanHolder> beanModel = source.createDisplayModel(BeanHolder.class, messages); // this line would throw an exception beanModel.add("bean.value"); verify(); }
@Test public void order_via_annotation() { Messages messages = mockMessages(); stub_contains(messages, false); replay(); BeanModel model = source.create(StoogeBean.class, true, messages); assertEquals(model.getPropertyNames(), Arrays.asList("larry", "moe", "shemp", "curly")); verify(); }