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
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
});\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
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
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
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
.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
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";
// 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();) {
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);