Package org.apache.tapestry.beaneditor

Examples of org.apache.tapestry.beaneditor.BeanModel


        train_getMessages(resources, messages);
        stub_contains(messages, false);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);

        assertSame(model.remove("age"), model);

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName"));

        verify();
    }
View Full Code Here


        train_getMessages(resources, messages);
        stub_contains(messages, false);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);

        assertSame(model.remove("frobozz"), model);

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName", "age"));

        verify();
    }
View Full Code Here

        train_getMessages(resources, messages);
        stub_contains(messages, false);

        replay();

        BeanModel model = _source.create(NonVisualBean.class, true, resources);

        assertEquals(model.getPropertyNames(), Arrays.asList("name"));

        verify();
    }
View Full Code Here

        Messages messages = resources.getMessages();

        ClassPropertyAdapter adapter = _propertyAccess.getAdapter(beanClass);

        BeanModel model = new BeanModelImpl(beanClass, _propertyConduitSource, _typeCoercer,
                messages);

        List<String> propertyNames = newList();

        for (String propertyName : adapter.getPropertyNames())
        {
            PropertyAdapter pa = adapter.getPropertyAdapter(propertyName);

            if (!pa.isRead())
                continue;

            if (pa.getAnnotation(NonVisual.class) != null)
                continue;

            if (filterReadOnlyProperties && !pa.isUpdate())
                continue;

            String editorType = _registry.get(pa.getType());

            // If an unregistered type, then ignore the property.

            if (editorType.equals(""))
                continue;

            model.add(propertyName).editorType(editorType);

            propertyNames.add(propertyName);
        }

        // Set default property order for properties that are not explicit.

        List<String> orderedNames = TapestryUtils.orderProperties(
                adapter,
                _classFactory,
                propertyNames);

        for (int i = 0; i < orderedNames.size(); i++)
        {
            String propertyName = orderedNames.get(i);

            model.get(propertyName).order(i);
        }

        return model;
    }
View Full Code Here

        Messages messages = resources.getMessages();

        ClassPropertyAdapter adapter = _propertyAccess.getAdapter(beanClass);

        final BeanModel model = new BeanModelImpl(beanClass, _propertyConduitSource, _typeCoercer, messages);

        List<String> propertyNames = newList();

        Map<String, Runnable> worksheet = newMap();

        for (final String propertyName : adapter.getPropertyNames())
        {
            PropertyAdapter pa = adapter.getPropertyAdapter(propertyName);

            if (!pa.isRead()) continue;

            if (pa.getAnnotation(NonVisual.class) != null) continue;

            if (filterReadOnlyProperties && !pa.isUpdate()) continue;

            final String dataType = _dataTypeAnalyzer.identifyDataType(pa);

            // If an unregistered type, then ignore the property.

            if (dataType == null) continue;

            propertyNames.add(propertyName);

            // We need to defer execution of this; we want to add them in proper order, not
            // alphabetical order.

            Runnable worker = new Runnable()
            {
                public void run()
                {
                    model.add(propertyName).dataType(dataType);
                }
            };

            worksheet.put(propertyName, worker);
        }
View Full Code Here

        train_getMessages(resources, messages);
        stub_contains(messages, false);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);

        assertSame(model.getBeanType(), SimpleBean.class);

        // Based on order of the getter methods (no longer alphabetical)

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName", "age"));

        assertEquals(model.toString(),
                     "BeanModel[org.apache.tapestry.internal.services.SimpleBean properties:firstName, lastName, age]");

        PropertyModel age = model.get("age");

        assertEquals(age.getLabel(), "Age");
        assertSame(age.getPropertyType(), int.class);
        assertEquals(age.getDataType(), "text");
        assertEquals(age.getWidth(), 2);

        PropertyModel firstName = model.get("firstName");

        assertEquals(firstName.getLabel(), "First Name");
        assertEquals(firstName.getPropertyType(), String.class);
        assertEquals(firstName.getDataType(), "text");
        assertEquals(firstName.getWidth(), 0);

        assertEquals(model.get("lastName").getLabel(), "Last Name");

        PropertyConduit conduit = model.get("lastName").getConduit();

        SimpleBean instance = new SimpleBean();

        instance.setLastName("Lewis Ship");
View Full Code Here

        expect(conduit.getPropertyType()).andReturn(propertyType).atLeastOnce();
        expect(conduit.getAnnotation(EasyMock.isA(Class.class))).andStubReturn(null);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName", "age"));

        // Note the use of case insensitivity here.

        PropertyModel property = model.add(RelativePosition.BEFORE, "lastname", "middleInitial", conduit);

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "middleInitial", "lastName", "age"));

        assertEquals(property.getPropertyName(), "middleInitial");
        assertSame(property.getConduit(), conduit);
        assertSame(property.getPropertyType(), propertyType);
View Full Code Here

        train_getMessages(resources, messages);
        stub_contains(messages, false);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);

        model.remove("firstname");

        assertEquals(model.getPropertyNames(), Arrays.asList("lastName", "age"));

        // Note the use of case insensitivity here.

        PropertyModel property = model.add(RelativePosition.BEFORE, "lastname", "firstName");

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName", "age"));

        assertEquals(property.getPropertyName(), "firstName");
        assertSame(property.getPropertyType(), String.class);

        verify();
View Full Code Here

        expect(conduit.getAnnotation(EasyMock.isA(Class.class))).andStubReturn(null);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "lastName", "age"));

        PropertyModel property = model.add(RelativePosition.AFTER, "firstname", "middleInitial", conduit);

        assertEquals(model.getPropertyNames(), Arrays.asList("firstName", "middleInitial", "lastName", "age"));

        assertEquals(property.getPropertyName(), "middleInitial");
        assertSame(property.getConduit(), conduit);
        assertSame(property.getPropertyType(), propertyType);
View Full Code Here

        train_getMessages(resources, messages);
        stub_contains(messages, false);

        replay();

        BeanModel model = _source.create(ReadOnlyBean.class, true, resources);

        assertEquals(model.getPropertyNames(), Arrays.asList("value"));

        model = _source.create(ReadOnlyBean.class, false, resources);

        assertEquals(model.getPropertyNames(), Arrays.asList("value", "readOnly"));

        verify();
    }
View Full Code Here

TOP

Related Classes of org.apache.tapestry.beaneditor.BeanModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.