- Timestamp:
- 07/28/08 13:12:15 (5 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/itmill/toolkit/tests/book/BookTestApplication.java
r5113 r5119 6 6 7 7 import java.net.URL; 8 import java.sql.Connection; 9 import java.sql.DriverManager; 10 import java.sql.ResultSet; 11 import java.sql.SQLException; 12 import java.sql.Statement; 8 13 import java.util.Iterator; 9 14 import java.util.Locale; 10 15 import java.util.Map; 11 16 import java.util.Set; 12 import java.util.Vector; 13 14 import com.itmill.toolkit.data.Container; 17 18 import org.hsqldb.*; 19 15 20 import com.itmill.toolkit.data.Item; 16 import com.itmill.toolkit.data.Property;17 21 import com.itmill.toolkit.data.Validator; 22 import com.itmill.toolkit.data.Container.PropertySetChangeEvent; 23 import com.itmill.toolkit.data.Container.PropertySetChangeListener; 18 24 import com.itmill.toolkit.data.Property.ValueChangeEvent; 19 25 import com.itmill.toolkit.data.Property.ValueChangeListener; 20 import com.itmill.toolkit.data.util. BeanItem;26 import com.itmill.toolkit.data.util.QueryContainer; 21 27 import com.itmill.toolkit.data.validator.StringLengthValidator; 22 28 import com.itmill.toolkit.terminal.ClassResource; … … 37 43 import com.itmill.toolkit.ui.Embedded; 38 44 import com.itmill.toolkit.ui.ExpandLayout; 39 import com.itmill.toolkit.ui.Field;40 import com.itmill.toolkit.ui.FieldFactory;41 45 import com.itmill.toolkit.ui.Form; 42 46 import com.itmill.toolkit.ui.FormLayout; … … 58 62 import com.itmill.toolkit.ui.Window; 59 63 import com.itmill.toolkit.ui.Button.ClickEvent; 60 import com.itmill.toolkit.ui.Window.Notification;61 64 62 65 public class BookTestApplication extends com.itmill.toolkit.Application { … … 143 146 "customlayout", "spacing", "margin", "clientinfo", 144 147 "fillinform/templates", "notification", "print", 145 "richtextfield" };148 "richtextfield", "querycontainer"}; 146 149 for (int i = 0; i < examples.length; i++) { 147 150 main.addComponent(new Label("<a href='" + context.toString() + … … 224 227 } else if (example.equals("richtextfield")) { 225 228 example_RichTextField(main, param); 229 } else if (example.equals("querycontainer")) { 230 example_QueryContainer(main, param); 226 231 } else { 227 232 ; // main.addComponent(new Label("Unknown test '"+example+"'.")); … … 1420 1425 main.addComponent(html); 1421 1426 } 1427 1428 void example_QueryContainer(final Window main, String param) { 1429 try { 1430 // Create a database connection 1431 Class.forName("org.hsqldb.jdbcDriver"); 1432 final Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:qcexample", "sa", ""); 1433 1434 // Create an example table and put some data in it. 1435 Statement st = c.createStatement(); 1436 st.executeQuery("CREATE TABLE Prisoners (id INTEGER, name VARCHAR)"); 1437 st.close(); 1438 for (int i=0; i<100; i++) { 1439 st = c.createStatement(); 1440 st.executeQuery("INSERT INTO Prisoners (id, name) VALUES ("+i+",'I am number "+(i+1)+"')"); 1441 st.close(); 1442 } 1443 1444 // Query the database 1445 final QueryContainer qc = new QueryContainer("SELECT id,name FROM Prisoners", c); 1446 1447 // Create a component for selecting a query result item. 1448 Select select = new Select("Select an item"); 1449 1450 // The items shown in the selection component are obtained from the query. 1451 select.setContainerDataSource(qc); 1452 1453 // The item captions are obtained from a field in the query result. 1454 select.setItemCaptionMode(Select.ITEM_CAPTION_MODE_PROPERTY); 1455 1456 // Set the name of the field from which the item captions are obtained. 1457 select.setItemCaptionPropertyId("name"); 1458 1459 // When selection changes, display the selected item. 1460 select.setImmediate(true); 1461 final Label selection = new Label("Currently selected: -"); 1462 select.addListener(new ValueChangeListener() { 1463 public void valueChange(ValueChangeEvent event) { 1464 // Get the item id of the currently selected item 1465 Integer itemId = (Integer) event.getProperty().getValue(); 1466 1467 // Use the item ID to get the actual row from the query result. 1468 Item qrItem = qc.getItem(itemId); 1469 1470 // Display the item ID 1471 selection.setValue("Currently selected: result row "+itemId.intValue() + 1472 " (id="+qrItem.getItemProperty("id")+", " + 1473 "name="+qrItem.getItemProperty("name")+")"); 1474 } 1475 }); 1476 1477 main.addComponent(select); 1478 main.addComponent(selection); 1479 } catch (SQLException e) { 1480 e.printStackTrace(); 1481 } catch (ClassNotFoundException e) { 1482 e.printStackTrace(); 1483 } 1484 } 1422 1485 }
