Presentation is loading. Please wait.

Presentation is loading. Please wait.

Form Builder Tomáš Černý Michael J. Donahoo Eunjee Song Department of Computer Science Baylor University, Waco, TX.

Similar presentations


Presentation on theme: "Form Builder Tomáš Černý Michael J. Donahoo Eunjee Song Department of Computer Science Baylor University, Waco, TX."— Presentation transcript:

1 Form Builder Tomáš Černý Michael J. Donahoo Eunjee Song Department of Computer Science Baylor University, Waco, TX

2 Content ➲ Introduction ➲ Background ➲ Manual form generation ➲ Tool ➲ Example ➲ Related work ➲ Conclusion

3 Introduction Java EE web applications JSF, Seam, Hibernate Entity beans determine view forms Manual form development is error-prone and tedious Developer consistency Weak type safety in view Properties propagation Entity bean inconsistency with view form Form auto-generation by our tool Client-side validation

4 Background ➲ Java Platform, Enterprise Edition (Java EE) Presentation tier - JSF Business tier – Session bean Persistence tier – Entity bean ➲ Java Server Faces (JSF) Rich user interface on server side Components ➲ Facelets (XHTML) Templating framework ➲ Enterprise JavaBeans (EJB) Distributed applications

5 Manual form generation ➲ What we want to create? read-only and editable form

6 Manual form development ➲ What do I need to know? Field - component mapping Horizontal properties field type ► component type  Integer ► inputNumber component Vertical properties field annotation ► component type  String ► @Password ► inputPassword mapping condition  String ► length > 255 ► inputTextArea

7 Tool ➲ Java Application XML configuration Mapping field ► component template Template-based form generation Developer can use his favorite view components Component libraries – client-side validation

8 Tool

9 Example @Entity @Table(name = “person”) public class Person { private String name; @NotNull @Length(max=100) public String getName() { return name; } public void setName(String name) { this.name = name; }

10 Example <rb:inputTextid="$id" edit="#{editable}" value="#{$value}" label="$label" size="$size" maxlength="$maxlength" required="$required"/>

11 Example <rb:inputTextid="name" edit="#{editable}" value="#{bean.name}" label="Name:" size="30" maxlength="100" required="true"/>

12 Related Work ➲ Manual graphical form development ➲ Seam-gen (entire application) ➲ Naked objects (entire application) ➲ Direct to web (entire application) ➲ FileMaker

13 Conclusion Contribution ➲ New tool for JSF applications ➲ New development style ➲ Significant development time decrease ➲ Client-side validation Future work ➲ Use the idea in Model Driven Development ➲ Extend tool for table generation ➲ Extend tool for test generation ➲ New client-side validation (lower X greater)


Download ppt "Form Builder Tomáš Černý Michael J. Donahoo Eunjee Song Department of Computer Science Baylor University, Waco, TX."

Similar presentations


Ads by Google