]> source.dussan.org Git - vaadin-framework.git/commitdiff
Reservr updates
authorMarc Englund <marc.englund@itmill.com>
Wed, 12 Sep 2007 07:41:36 +0000 (07:41 +0000)
committerMarc Englund <marc.englund@itmill.com>
Wed, 12 Sep 2007 07:41:36 +0000 (07:41 +0000)
svn changeset:2282/svn branch:trunk

src/com/itmill/toolkit/demo/reservation/ReservationApplication.java
src/com/itmill/toolkit/demo/reservation/ResourceSelectorPanel.java
src/com/itmill/toolkit/demo/reservation/SampleDB.java

index e0f7ae4574f40f93f282baec62d882dac5607ca5..9e6363427adfebe423a15fd3224a5688038f9d8f 100644 (file)
@@ -34,7 +34,8 @@ public class ReservationApplication extends Application {
     private TextField description;\r
     private Button reservationButton;\r
 \r
-    Table allReservations;\r
+    private Table allTable;\r
+    private CalendarField allCalendar;\r
 \r
     public void init() {\r
        db = new SampleDB(true);\r
@@ -67,10 +68,10 @@ public class ReservationApplication extends Application {
        OrderedLayout infoLayout = new OrderedLayout();\r
        reservationPanel.addComponent(infoLayout);\r
        resourceName = new Label("Choose resource");\r
-       resourceName.setCaption("Selected resource");\r
+       resourceName.setCaption("Reserving resource");\r
        infoLayout.addComponent(resourceName);\r
        description = new TextField();\r
-       description.setColumns(30);\r
+       description.setColumns(40);\r
        description.setRows(5);\r
        infoLayout.addComponent(description);\r
        reservationButton = new Button("Make reservation", this,\r
@@ -111,9 +112,22 @@ public class ReservationApplication extends Application {
        });\r
        reservedFrom.setImmediate(true);\r
        reservedFrom.setValue(now);\r
-\r
-       allReservations = new Table();\r
-       mainTabs.addTab(allReservations, "All reservations", null);\r
+       reservedTo.addListener(new ValueChangeListener() {\r
+           public void valueChange(ValueChangeEvent event) {\r
+               refreshSelectedResources();\r
+               resetStatus();\r
+           }\r
+       });\r
+       reservedTo.setImmediate(true);\r
+       reservedTo.setValue(now);\r
+\r
+       OrderedLayout allLayout = new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL);\r
+       allCalendar = new CalendarField();\r
+       initCalendarFieldPropertyIds(allCalendar);\r
+       allLayout.addComponent(allCalendar);\r
+       allTable = new Table();\r
+       allLayout.addComponent(allTable);\r
+       mainTabs.addTab(allLayout, "All reservations", null);\r
        mainTabs.addListener(new TabSheet.SelectedTabChangeListener() {\r
            public void selectedTabChange(SelectedTabChangeEvent event) {\r
                refreshReservations();\r
@@ -166,7 +180,10 @@ public class ReservationApplication extends Application {
        reservedFrom.setContainerDataSource(reservations);\r
        reservedTo.setContainerDataSource(reservations);\r
        refreshSelectedResources();\r
-       allReservations.setContainerDataSource(db.getReservations(null));\r
+       Container allReservations = db.getReservations(null);\r
+       allTable.setContainerDataSource(allReservations);\r
+       allCalendar.setContainerDataSource(allReservations);\r
+       \r
     }\r
 \r
     private void refreshSelectedResources() {\r
index 170a53c9844f5cd4026c269c8f04db4d324e8e59..744447d240fde561a335b97632b2113af698f178 100644 (file)
@@ -53,7 +53,7 @@ public class ResourceSelectorPanel extends Panel implements
                    resourceList = new LinkedList();\r
                    categoryResources.put(category, resourceList);\r
                    Button cButton = new Button(category + " (any)", this);\r
-                   cButton.setStyle("link");\r
+                   cButton.setStyle("important-link");\r
                    cButton.setData(category);\r
                    resourceLayout.addComponent(cButton);\r
                }\r
@@ -77,6 +77,7 @@ public class ResourceSelectorPanel extends Panel implements
        if (source instanceof Button) {\r
            Object data = ((Button) source).getData();\r
            String name = ((Button) source).getCaption();\r
+           resetStyles();\r
            if (data instanceof Item) {\r
                LinkedList rlist = new LinkedList();\r
                rlist.add(data);\r
@@ -87,9 +88,25 @@ public class ResourceSelectorPanel extends Panel implements
                        .get(category);\r
                setSelectedResources(resources);\r
            }\r
+           ((Button)source).setStyle("selected-link");\r
        }\r
 \r
     }\r
+    \r
+    private void resetStyles() {\r
+       for (Iterator it = categoryLayouts.values().iterator();it.hasNext();) {\r
+           Layout lo = (Layout)it.next();\r
+           for (Iterator bit = lo.getComponentIterator();bit.hasNext();) {\r
+               Button b = (Button)bit.next();\r
+               if (b.getData() instanceof Item) {\r
+                   b.setStyle("link");\r
+               } else {\r
+                   b.setStyle("important-link");\r
+               }\r
+           }\r
+       }\r
+       \r
+    }\r
 \r
     public class SelectedResourcesChangedEvent extends Event {\r
        public SelectedResourcesChangedEvent() {\r
index f5482e70b02ed07e59ba4aeeb2e4f3ddce271725..bc1f5b04e97e1e89dda5329b478efe6dc9d8e40e 100644 (file)
@@ -17,34 +17,42 @@ import com.itmill.toolkit.data.util.QueryContainer;
 public class SampleDB {
     public class User {
        public static final String TABLE = "USER";
-       public static final String PROPERTY_ID_ID = TABLE+"_ID";
-       public static final String PROPERTY_ID_FULLNAME = TABLE+"_FULLNAME";
-       public static final String PROPERTY_ID_EMAIL = TABLE+"_EMAIL";
-       public static final String PROPERTY_ID_PASSWORD = TABLE+"_PASSWORD";
-       public static final String PROPERTY_ID_DELETED = TABLE+"_DELETED";
+       public static final String PROPERTY_ID_ID = TABLE + "_ID";
+       public static final String PROPERTY_ID_FULLNAME = TABLE + "_FULLNAME";
+       public static final String PROPERTY_ID_EMAIL = TABLE + "_EMAIL";
+       public static final String PROPERTY_ID_PASSWORD = TABLE + "_PASSWORD";
+       public static final String PROPERTY_ID_DELETED = TABLE + "_DELETED";
     }
 
     public class Resource {
        public static final String TABLE = "RESOURCE";
-       public static final String PROPERTY_ID_ID = TABLE+"_ID";
-       public static final String PROPERTY_ID_NAME = TABLE+"_NAME";
-       public static final String PROPERTY_ID_DESCRIPTION = TABLE+"_DESCRIPTION";
-       public static final String PROPERTY_ID_LOCATIONX = TABLE+"_LOCATION_X";
-       public static final String PROPERTY_ID_LOCATIONY = TABLE+"_LOCATION_Y";
-       public static final String PROPERTY_ID_CATEGORY = TABLE+"_CATEGORY";
-       public static final String PROPERTY_ID_DELETED = TABLE+"_DELETED";
+       public static final String PROPERTY_ID_ID = TABLE + "_ID";
+       public static final String PROPERTY_ID_NAME = TABLE + "_NAME";
+       public static final String PROPERTY_ID_DESCRIPTION = TABLE
+               + "_DESCRIPTION";
+       public static final String PROPERTY_ID_LOCATIONX = TABLE
+               + "_LOCATION_X";
+       public static final String PROPERTY_ID_LOCATIONY = TABLE
+               + "_LOCATION_Y";
+       public static final String PROPERTY_ID_CATEGORY = TABLE + "_CATEGORY";
+       public static final String PROPERTY_ID_DELETED = TABLE + "_DELETED";
     }
 
     public class Reservation {
        public static final String TABLE = "RESERVATION";
-       public static final String PROPERTY_ID_ID = TABLE+"_ID";
-       public static final String PROPERTY_ID_DESCRIPTION = TABLE+"_DESCRIPTION";
-       public static final String PROPERTY_ID_RESOURCE_ID = TABLE+"_RESOURCE_ID";
-       public static final String PROPERTY_ID_RESERVED_BY_ID = TABLE+"_RESERVED_BY_USER_ID";
-       public static final String PROPERTY_ID_RESERVED_FROM = TABLE+"_RESERVED_FROM";
-       public static final String PROPERTY_ID_RESERVED_TO = TABLE+"_RESERVED_TO";
+       public static final String PROPERTY_ID_ID = TABLE + "_ID";
+       public static final String PROPERTY_ID_DESCRIPTION = TABLE
+               + "_DESCRIPTION";
+       public static final String PROPERTY_ID_RESOURCE_ID = TABLE
+               + "_RESOURCE_ID";
+       public static final String PROPERTY_ID_RESERVED_BY_ID = TABLE
+               + "_RESERVED_BY_USER_ID";
+       public static final String PROPERTY_ID_RESERVED_FROM = TABLE
+               + "_RESERVED_FROM";
+       public static final String PROPERTY_ID_RESERVED_TO = TABLE
+               + "_RESERVED_TO";
     }
-    
+
     // TODO -> param
     private static final String DB_URL = "jdbc:hsqldb:file:reservation.db";
 
@@ -247,8 +255,9 @@ public class SampleDB {
        // TODO where from=?
        // TODO where to=?
        // TODO where deleted=?
-       String q = "SELECT * FROM " + Reservation.TABLE + "," +Resource.TABLE;
-       q += " WHERE " + Reservation.PROPERTY_ID_RESOURCE_ID+"="+Resource.PROPERTY_ID_ID;
+       String q = "SELECT * FROM " + Reservation.TABLE + "," + Resource.TABLE;
+       q += " WHERE " + Reservation.PROPERTY_ID_RESOURCE_ID + "="
+               + Resource.PROPERTY_ID_ID;
        if (resources != null && resources.size() > 0) {
            StringBuilder s = new StringBuilder();
            for (Iterator it = resources.iterator(); it.hasNext();) {
@@ -295,7 +304,8 @@ public class SampleDB {
        synchronized (DB_URL) {
            try {
                if (!isAvailableResource(resourceId, reservedFrom, reservedTo)) {
-                   throw new ResourceNotAvailableException("The resource is not available at that time.");
+                   throw new ResourceNotAvailableException(
+                           "The resource is not available at that time.");
                }
                PreparedStatement p = connection.prepareStatement(q);
                p.setInt(1, resourceId);