powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с Vaadin
3 сообщений из 3, страница 1 из 1
Проблемы с Vaadin
    #37812086
bataviya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема возникает тогда когда в MasterDetails хочу удалить в дочернем Entity какую то строку выскакивает
com.vaadin.event.ListenerMethod$MethodException: Invocation of method buttonClick in com.vaadin.addon.jpacontainer.fieldfactory.MasterDetailEditor$2 failed.
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:532)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1219)
at com.vaadin.ui.Button.fireClick(Button.java:550)
и.т.д . Может кто сталкивался ?

вот кстати сам код.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
    public static VerticalLayout formonetomany(VerticalLayout layout) {
        // Populate with example data
        // JPAContainerExample.insertExampleData();

        // BEGIN-EXAMPLE: jpacontainer.fieldfactory.formonetoone
        // Have a persistent container
        final JPAContainer<Country> countries =
                JPAContainerFactory.make(Country.class, "VaadinJPAUnderstandingPU");

        // For selecting an item to edit
        final Select countrySelect = new Select("Select a Country", countries);
        countrySelect.setItemCaptionMode(Select.ITEM_CAPTION_MODE_PROPERTY);
        countrySelect.setItemCaptionPropertyId("name");

        // Country Editor
        final Form countryForm = new Form();
        countryForm.setCaption("Country Editor");
        countryForm.addStyleName("bordered"); // Custom style
        countryForm.setWidth("420px");
        countryForm.setWriteThrough(false); // Enable buffering
        countryForm.setEnabled(false);

        // When an item is selected from the list...
        countrySelect.addListener(new ValueChangeListener() {

            private static final long serialVersionUID = 3371750143781493244L;

            @Override
            public void valueChange(ValueChangeEvent event) {
                // Get the item to edit in the form
                Item countryItem =
                        countries.getItem(event.getProperty().getValue());

                // Use a JPAContainer field factory
                //  - no configuration is needed here
                final FieldFactory fieldFactory = new FieldFactory();
                countryForm.setFormFieldFactory(fieldFactory);

                // Edit the item in the form
                countryForm.setItemDataSource(countryItem);
                countryForm.setEnabled(true);

                // Handle saves on the form
                final Button save = new Button("Save");
                countryForm.getFooter().removeAllComponents();
                countryForm.getFooter().addComponent(save);
                save.addListener(new ClickListener() {

                    private static final long serialVersionUID = 3147385792741616617L;

                    @Override
                    public void buttonClick(ClickEvent event) {
                        try {
                            countryForm.commit();
                            countryForm.setEnabled(false);
                        } catch (InvalidValueException e) {
                        }
                    }
                });
            }
        });
        countrySelect.setImmediate(true);
        countrySelect.setNullSelectionAllowed(false);
        // END-EXAMPLE: jpacontainer.fieldfactory.formonetoone

        layout.setSpacing(true);
        layout.addComponent(countrySelect);
        layout.addComponent(countryForm);
        return layout;
    }



а также
Бины
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
@Entity
public class Person implements Serializable {
    private static final long serialVersionUID = 508426585088564210L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long    id;

    private String  name;
    private Integer age;

    @ManyToOne
    private Country country;

    /** Default constructor is required by JPA */
    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age  = age;
    }

    public Person(String name, int age, Country country) {
        this.name    = name;
        this.age     = age;
        this.country = country;
        country.addPerson(this);
    }

    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public Country getCountry() {
        return country;
    }
    public void setCountry(Country country) {
        this.country = country;
        country.addPerson(this);
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
@Entity
public class Country implements Serializable {

    private static final long serialVersionUID = 508426585088564210L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    @OneToMany(mappedBy = "country", cascade = CascadeType.ALL, orphanRemoval = true,fetch=FetchType.LAZY)
    private Set<Person> people;

    /** Default constructor is required by JPA */
    public Country() {
        people = new HashSet<Person>();
    }

    public Country(String name) {
        this.name = name;
        this.people = new HashSet<Person>();
    }

    /** Adds a person to the country. */
    public void addPerson(Person person) {
        people.add(person);
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Set<Person> getPeople() {
        return people;
    }

    public void setPeople(Set<Person> people) {
        this.people = people;
    }
}
// END-EXAMPLE: jpacontainer.basic
...
Рейтинг: 0 / 0
Проблемы с Vaadin
    #37812912
sys_daemon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bataviya,

Оффтопик. В vaadin до сих пор интерфейс натаптывается в java коде вместо XML? Если да то печалька :-(
...
Рейтинг: 0 / 0
Проблемы с Vaadin
    #37813230
Фотография ivanov-void
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите, может, версия JPAContainer Add- on конфликтует с версией самого Vaadin. Вообще же опубликованный код содержит мало релевантных вопросу сведений, а топик озаглавлен уж слишком абстрактно.

Попробуйте поискать у себя в исходниках что- то похожее -

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
...
        delete.....addListener(new Button.ClickListener() {

                public void buttonClick(ClickEvent event) {
                    Object itemId = .........getValue();
                    if (itemId != null) {
                        try {
                            countries.removeItem(itemId);                            
                        } catch (Exception e) {
                           ...
                        }
                    }
                }
            });

...



Вот тут еще можно поискать аналогии http://dev.vaadin.com/svn/addons/JPAContainer/trunk/jpacontainer-demo/src/main/java/com/vaadin/addon/jpacontainer/demo/] jpacontainer-demo/src
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемы с Vaadin
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]