package com.itmill.toolkit.demo.reservation;\r
\r
import java.util.Date;\r
-import java.util.HashMap;\r
import java.util.Iterator;\r
-import java.util.LinkedList;\r
+import java.util.List;\r
\r
import com.itmill.toolkit.Application;\r
import com.itmill.toolkit.data.Container;\r
import com.itmill.toolkit.data.Item;\r
-import com.itmill.toolkit.data.Property;\r
import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
import com.itmill.toolkit.data.Property.ValueChangeListener;\r
import com.itmill.toolkit.ui.Button;\r
import com.itmill.toolkit.ui.CalendarField;\r
-import com.itmill.toolkit.ui.Layout;\r
+import com.itmill.toolkit.ui.Label;\r
import com.itmill.toolkit.ui.OrderedLayout;\r
import com.itmill.toolkit.ui.Panel;\r
-import com.itmill.toolkit.ui.Select;\r
+import com.itmill.toolkit.ui.TabSheet;\r
import com.itmill.toolkit.ui.Table;\r
import com.itmill.toolkit.ui.TextField;\r
import com.itmill.toolkit.ui.Window;\r
-import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
\r
public class ReservationApplication extends Application {\r
\r
private SampleDB db;\r
- \r
- private Window mainWindow;\r
+\r
+ ResourceSelectorPanel resourcePanel;\r
\r
private CalendarField reservedFrom;\r
private CalendarField reservedTo;\r
+\r
+ private Label resourceName;\r
+ private Label statusLabel;\r
private TextField description;\r
private Button reservationButton;\r
- \r
- private Integer selectedResource = null;\r
- \r
- public void init() {\r
- mainWindow = new Window("Reservr");\r
- setMainWindow(mainWindow);\r
- setTheme("example");\r
\r
+ Table allReservations;\r
+\r
+ public void init() {\r
db = new SampleDB(true);\r
db.generateResources();\r
db.generateDemoUser();\r
- \r
- ResourcePanel resourcePanel = new ResourcePanel("Resources");\r
+\r
+ Window mainWindow = new Window("Reservr");\r
+ setMainWindow(mainWindow);\r
+ setTheme("example");\r
+\r
+ TabSheet mainTabs = new TabSheet();\r
+ mainWindow.addComponent(mainTabs);\r
+\r
+ mainWindow.addComponent(new Button("close", this, "close"));\r
+\r
+ OrderedLayout reservationTab = new OrderedLayout();\r
+ mainTabs.addTab(reservationTab, "Make reservation", null);\r
+\r
+ resourcePanel = new ResourceSelectorPanel("Resources");\r
resourcePanel.setResourceContainer(db.getResources(null));\r
- mainWindow.addComponent(resourcePanel);\r
- \r
- Panel reservationPanel = new Panel(new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL));\r
- mainWindow.addComponent(reservationPanel);\r
- \r
+ resourcePanel.addListener(\r
+ ResourceSelectorPanel.SelectedResourcesChangedEvent.class,\r
+ this, "selectedResourcesChanged");\r
+ reservationTab.addComponent(resourcePanel);\r
+\r
+ Panel reservationPanel = new Panel(new OrderedLayout(\r
+ OrderedLayout.ORIENTATION_HORIZONTAL));\r
+ reservationTab.addComponent(reservationPanel);\r
+\r
OrderedLayout infoLayout = new OrderedLayout();\r
reservationPanel.addComponent(infoLayout);\r
+ resourceName = new Label("Choose resource");\r
+ resourceName.setCaption("Selected resource");\r
+ infoLayout.addComponent(resourceName);\r
description = new TextField();\r
description.setColumns(30);\r
description.setRows(5);\r
infoLayout.addComponent(description);\r
- reservationButton = new Button("Make reservation",this,"makeReservation");\r
+ reservationButton = new Button("Make reservation", this,\r
+ "makeReservation");\r
infoLayout.addComponent(reservationButton);\r
+ statusLabel = new Label();\r
+ infoLayout.addComponent(statusLabel);\r
\r
// TODO Use calendar, set following hour\r
Date now = new Date();\r
reservedTo.setMinimumDate(now);\r
initCalendarFieldPropertyIds(reservedTo);\r
reservationPanel.addComponent(reservedTo);\r
- refreshReservations(null);\r
reservedFrom.addListener(new ValueChangeListener() {\r
public void valueChange(ValueChangeEvent event) {\r
- Date fd = (Date)reservedFrom.getValue();\r
- Date td = (Date)reservedTo.getValue();\r
+ Date fd = (Date) reservedFrom.getValue();\r
+ Date td = (Date) reservedTo.getValue();\r
if (fd == null) {\r
reservedTo.setValue(null);\r
reservedTo.setEnabled(false);\r
+ refreshSelectedResources();\r
return;\r
} else {\r
reservedTo.setEnabled(true);\r
}\r
reservedTo.setMinimumDate(fd);\r
- if (td == null||td.before(fd)) {\r
+ if (td == null || td.before(fd)) {\r
reservedTo.setValue(fd);\r
}\r
- } \r
+ refreshSelectedResources();\r
+ resetStatus();\r
+ }\r
});\r
reservedFrom.setImmediate(true);\r
reservedFrom.setValue(now);\r
\r
- \r
-\r
- mainWindow.addComponent(new Button("close",this,"close"));\r
- Table tbl = new Table();\r
- tbl.setContainerDataSource(db.getUsers());\r
- mainWindow.addComponent(tbl);\r
+ allReservations = new Table();\r
+ mainTabs.addTab(allReservations, "All reservations", null);\r
+ mainTabs.addListener(new TabSheet.SelectedTabChangeListener() {\r
+ public void selectedTabChange(SelectedTabChangeEvent event) {\r
+ refreshReservations();\r
+ }\r
+ });\r
\r
+ refreshReservations();\r
}\r
\r
-\r
public void makeReservation() {\r
- Integer rid = getSelectedResourceId();\r
- if (rid!=null) {\r
- db.addReservation(rid.intValue(), 0, (Date)reservedFrom.getValue(), (Date)reservedTo.getValue(), (String)description.getValue());\r
- refreshReservations(new int[] {rid.intValue()});\r
+ try {\r
+ Item resource = getActiveResource();\r
+ if (resource != null) {\r
+ db.addReservation(resource, 0, (Date) reservedFrom.getValue(),\r
+ (Date) reservedTo.getValue(), (String) description\r
+ .getValue());\r
+ }\r
+ } catch (ResourceNotAvailableException e) {\r
+ statusLabel.setCaption("Reservation failed");\r
+ statusLabel\r
+ .setValue("The selected resource was not available for the selected period.");\r
}\r
+ refreshReservations();\r
}\r
- \r
- private void refreshReservations(int[] resourceIds) {\r
- Container reservations = db.getReservations(resourceIds);;\r
- System.err.println("Got " + (reservations!=null?reservations.size():0) + " reservations");\r
+\r
+ private Item getActiveResource() throws ResourceNotAvailableException {\r
+ List rids = resourcePanel.getSelectedResources();\r
+ if (rids != null && rids.size() > 0) {\r
+ for (Iterator it = rids.iterator(); it.hasNext();) {\r
+ Item resource = (Item) it.next();\r
+ int id = ((Integer) resource.getItemProperty(\r
+ SampleDB.Resource.PROPERTY_ID_ID).getValue())\r
+ .intValue();\r
+ if (db.isAvailableResource(id, (Date) reservedFrom.getValue(),\r
+ (Date) reservedTo.getValue()))\r
+ return resource;\r
+ }\r
+ throw new ResourceNotAvailableException("No available resource");\r
+ } else {\r
+ return null;\r
+ }\r
+ }\r
+\r
+ private void refreshReservations() {\r
+ Container reservations = db.getReservations(resourcePanel\r
+ .getSelectedResources());\r
reservedFrom.setContainerDataSource(reservations);\r
reservedTo.setContainerDataSource(reservations);\r
+ refreshSelectedResources();\r
+ allReservations.setContainerDataSource(db.getReservations(null));\r
}\r
- private void initCalendarFieldPropertyIds(CalendarField cal) {\r
- cal.setItemStartPropertyId(SampleDB.Reservation.PROPERTY_ID_RESERVED_FROM);\r
- cal.setItemEndPropertyId(SampleDB.Reservation.PROPERTY_ID_RESERVED_TO);\r
- cal.setItemTitlePropertyId(SampleDB.Reservation.PROPERTY_ID_DESCRIPTION);\r
- }\r
- \r
- private void setSelectedResourceId(Integer id) {\r
- selectedResource = id;\r
- if (id == null) {\r
+\r
+ private void refreshSelectedResources() {\r
+ Item resource = null;\r
+ try {\r
+ resource = getActiveResource();\r
+ } catch (ResourceNotAvailableException e) {\r
+ resourceName.setValue("Not available");\r
+ reservationButton.setEnabled(false);\r
+ return;\r
+ }\r
+ if (resource == null) {\r
+ resourceName.setValue("Choose resource");\r
reservationButton.setEnabled(false);\r
} else {\r
+ resourceName.setValue((String) resource.getItemProperty(\r
+ SampleDB.Resource.PROPERTY_ID_NAME).getValue());\r
reservationButton.setEnabled(true);\r
}\r
+ \r
}\r
- private Integer getSelectedResourceId() {\r
- return selectedResource;\r
+\r
+ private void initCalendarFieldPropertyIds(CalendarField cal) {\r
+ cal\r
+ .setItemStartPropertyId(SampleDB.Reservation.PROPERTY_ID_RESERVED_FROM);\r
+ cal.setItemEndPropertyId(SampleDB.Reservation.PROPERTY_ID_RESERVED_TO);\r
+ cal\r
+ .setItemTitlePropertyId(SampleDB.Reservation.PROPERTY_ID_DESCRIPTION);\r
}\r
\r
- private class ResourcePanel extends Panel implements Button.ClickListener {\r
- \r
- private HashMap categoryLayouts = new HashMap();\r
- private HashMap categoryResources = new HashMap();\r
- \r
- public ResourcePanel(String caption) {\r
- super(caption,new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL));\r
- }\r
- \r
- public void setResourceContainer(Container resources) {\r
- this.removeAllComponents();\r
- categoryLayouts.clear();\r
- categoryResources.clear();\r
- if (resources!=null&&resources.size()>0) {\r
- for (Iterator it = resources.getItemIds().iterator();it.hasNext();) {\r
- Item resource = (Item)resources.getItem(it.next());\r
- Integer id = (Integer)resource.getItemProperty(SampleDB.Resource.PROPERTY_ID_ID).getValue();\r
- String category = (String)resource.getItemProperty(SampleDB.Resource.PROPERTY_ID_CATEGORY).getValue();\r
- String name = (String)resource.getItemProperty(SampleDB.Resource.PROPERTY_ID_NAME).getValue();\r
- String description = (String)resource.getItemProperty(SampleDB.Resource.PROPERTY_ID_DESCRIPTION).getValue();\r
- Button rButton = new Button(name,this);\r
- rButton.setStyle("link");\r
- rButton.setDescription(description);\r
- rButton.setData(id);\r
- Layout resourceLayout = (Layout)categoryLayouts.get(category);\r
- LinkedList resourceList = (LinkedList)categoryResources.get(category);\r
- if (resourceLayout==null) {\r
- resourceLayout = new OrderedLayout();\r
- this.addComponent(resourceLayout);\r
- categoryLayouts.put(category, resourceLayout);\r
- resourceList = new LinkedList();\r
- categoryResources.put(category, resourceList);\r
- Button cButton = new Button(category + " (any)",this);\r
- cButton.setStyle("link");\r
- cButton.setData(category);\r
- resourceLayout.addComponent(cButton);\r
- } \r
- resourceLayout.addComponent(rButton);\r
- resourceList.add(id);\r
- }\r
- }\r
- }\r
+ private void resetStatus() {\r
+ statusLabel.setCaption(null);\r
+ statusLabel.setValue(null);\r
+ }\r
\r
- public void buttonClick(ClickEvent event) {\r
- Object source = event.getSource();\r
- if (source instanceof Button) {\r
- Object data = ((Button)source).getData();\r
- if (data instanceof Integer) {\r
- Integer resourceId = (Integer)data;\r
- setSelectedResourceId(resourceId);\r
- refreshReservations(new int[] {resourceId.intValue()});\r
- } else {\r
- setSelectedResourceId(null);\r
- String category = (String)data;\r
- LinkedList resources = (LinkedList)categoryResources.get(category);\r
- int[] rids = new int[resources.size()];\r
- for (int i = 0; i< rids.length;i++) {\r
- rids[i] = ((Integer)resources.get(i)).intValue();\r
- }\r
- refreshReservations(rids);\r
- }\r
- }\r
- \r
- }\r
- \r
+ public void selectedResourcesChanged(\r
+ ResourceSelectorPanel.SelectedResourcesChangedEvent event) {\r
+ refreshReservations();\r
+ resetStatus();\r
}\r
+ \r
+\r
}\r
--- /dev/null
+package com.itmill.toolkit.demo.reservation;\r
+\r
+import java.util.HashMap;\r
+import java.util.Iterator;\r
+import java.util.LinkedList;\r
+\r
+import com.itmill.toolkit.data.Container;\r
+import com.itmill.toolkit.data.Item;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Layout;\r
+import com.itmill.toolkit.ui.OrderedLayout;\r
+import com.itmill.toolkit.ui.Panel;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+\r
+public class ResourceSelectorPanel extends Panel implements\r
+ Button.ClickListener {\r
+ private HashMap categoryLayouts = new HashMap();\r
+ private HashMap categoryResources = new HashMap();\r
+\r
+ private Container allResources;\r
+ private LinkedList selectedResources = null;\r
+\r
+ public ResourceSelectorPanel(String caption) {\r
+ super(caption, new OrderedLayout(OrderedLayout.ORIENTATION_HORIZONTAL));\r
+ }\r
+\r
+ public void setResourceContainer(Container resources) {\r
+ this.removeAllComponents();\r
+ categoryLayouts.clear();\r
+ categoryResources.clear();\r
+ if (resources != null && resources.size() > 0) {\r
+ for (Iterator it = resources.getItemIds().iterator(); it.hasNext();) {\r
+ Item resource = (Item) resources.getItem(it.next());\r
+ Integer id = (Integer) resource.getItemProperty(\r
+ SampleDB.Resource.PROPERTY_ID_ID).getValue();\r
+ String category = (String) resource.getItemProperty(\r
+ SampleDB.Resource.PROPERTY_ID_CATEGORY).getValue();\r
+ String name = (String) resource.getItemProperty(\r
+ SampleDB.Resource.PROPERTY_ID_NAME).getValue();\r
+ String description = (String) resource.getItemProperty(\r
+ SampleDB.Resource.PROPERTY_ID_DESCRIPTION).getValue();\r
+ Button rButton = new Button(name, this);\r
+ rButton.setStyle("link");\r
+ rButton.setDescription(description);\r
+ rButton.setData(resource);\r
+ Layout resourceLayout = (Layout) categoryLayouts.get(category);\r
+ LinkedList resourceList = (LinkedList) categoryResources\r
+ .get(category);\r
+ if (resourceLayout == null) {\r
+ resourceLayout = new OrderedLayout();\r
+ this.addComponent(resourceLayout);\r
+ categoryLayouts.put(category, resourceLayout);\r
+ resourceList = new LinkedList();\r
+ categoryResources.put(category, resourceList);\r
+ Button cButton = new Button(category + " (any)", this);\r
+ cButton.setStyle("link");\r
+ cButton.setData(category);\r
+ resourceLayout.addComponent(cButton);\r
+ }\r
+ resourceLayout.addComponent(rButton);\r
+ resourceList.add(resource);\r
+ }\r
+ }\r
+ }\r
+\r
+ private void setSelectedResources(LinkedList resources) {\r
+ selectedResources = resources;\r
+ fireEvent(new SelectedResourcesChangedEvent());\r
+ }\r
+\r
+ public LinkedList getSelectedResources() {\r
+ return selectedResources;\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ Object source = event.getSource();\r
+ if (source instanceof Button) {\r
+ Object data = ((Button) source).getData();\r
+ String name = ((Button) source).getCaption();\r
+ if (data instanceof Item) {\r
+ LinkedList rlist = new LinkedList();\r
+ rlist.add(data);\r
+ setSelectedResources(rlist);\r
+ } else {\r
+ String category = (String) data;\r
+ LinkedList resources = (LinkedList) categoryResources\r
+ .get(category);\r
+ setSelectedResources(resources);\r
+ }\r
+ }\r
+\r
+ }\r
+\r
+ public class SelectedResourcesChangedEvent extends Event {\r
+ public SelectedResourcesChangedEvent() {\r
+ super(ResourceSelectorPanel.this);\r
+ }\r
+ }\r
+}\r
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
import com.itmill.toolkit.data.Container;
+import com.itmill.toolkit.data.Item;
import com.itmill.toolkit.data.util.QueryContainer;
public class SampleDB {
public static final String PROPERTY_ID_RESERVED_FROM = "RESERVED_FROM";
public static final String PROPERTY_ID_RESERVED_TO = "RESERVED_TO";
}
-
+
// TODO -> param
private static final String DB_URL = "jdbc:hsqldb:file:reservation.db";
}
public Container getCategories() {
+ // TODO where deleted=?
String q = "SELECT DISTINCT(" + Resource.PROPERTY_ID_CATEGORY
+ ") FROM " + Resource.TABLE + " ORDER BY "
+ Resource.PROPERTY_ID_CATEGORY;
}
public Container getResources(String category) {
+ // TODO where deleted=?
String q = "SELECT * FROM " + Resource.TABLE;
if (category != null) {
q += " WHERE " + Resource.PROPERTY_ID_CATEGORY + "='" + category
}
- public Container getReservations(int[] resourceIds) {
- String q = "SELECT * FROM " + Reservation.TABLE ;
- if (resourceIds != null && resourceIds.length > 0) {
+ public Container getReservations(List resources) {
+ // TODO where reserved_by=?
+ // TODO where from=?
+ // TODO where to=?
+ // TODO where deleted=?
+ String q = "SELECT * FROM " + Reservation.TABLE;
+ if (resources != null && resources.size() > 0) {
StringBuilder s = new StringBuilder();
- for (int i = 0; i < resourceIds.length; i++) {
- if (i > 0) {
+ for (Iterator it = resources.iterator(); it.hasNext();) {
+ if (s.length() > 0) {
s.append(",");
}
- s.append(resourceIds[i]);
+ s.append(((Item) it.next())
+ .getItemProperty(Resource.PROPERTY_ID_ID));
}
q += " HAVING " + Reservation.PROPERTY_ID_RESOURCE_ID + " IN (" + s
+ ")";
}
}
-
- public void addReservation(int resourceId, int reservedById,
+ public void addReservation(Item resource, int reservedById,
Date reservedFrom, Date reservedTo, String description) {
- // TODO swap dates if from>to
- String checkQ = "SELECT count(*) FROM " + Reservation.TABLE + " WHERE "
- + Reservation.PROPERTY_ID_RESOURCE_ID + "=? AND (("
- + Reservation.PROPERTY_ID_RESERVED_FROM + ">=? AND "
- + Reservation.PROPERTY_ID_RESERVED_FROM + "<=?) OR ("
- + Reservation.PROPERTY_ID_RESERVED_TO + ">=? AND "
- + Reservation.PROPERTY_ID_RESERVED_TO + "<=?) OR ("
- + Reservation.PROPERTY_ID_RESERVED_FROM + "<=? AND "
- + Reservation.PROPERTY_ID_RESERVED_TO + ">=?)"
- +")";
- System.err.println(checkQ);
+ if (reservedFrom.after(reservedTo)) {
+ Date tmp = reservedTo;
+ reservedTo = reservedFrom;
+ reservedFrom = tmp;
+ }
+ int resourceId = ((Integer) resource.getItemProperty(
+ Resource.PROPERTY_ID_ID).getValue()).intValue();
String q = "INSERT INTO " + Reservation.TABLE + " ("
+ Reservation.PROPERTY_ID_RESOURCE_ID + ","
+ Reservation.PROPERTY_ID_RESERVED_BY_ID + ","
+ "VALUES (?,?,?,?,?)";
synchronized (DB_URL) {
try {
- PreparedStatement p = connection.prepareStatement(checkQ);
- p.setInt(1, resourceId);
- p.setTimestamp(2, new java.sql.Timestamp(reservedFrom.getTime()));
- p.setTimestamp(3, new java.sql.Timestamp(reservedTo.getTime()));
- p.setTimestamp(4, new java.sql.Timestamp(reservedFrom.getTime()));
- p.setTimestamp(5, new java.sql.Timestamp(reservedTo.getTime()));
- p.setTimestamp(6, new java.sql.Timestamp(reservedFrom.getTime()));
- p.setTimestamp(7, new java.sql.Timestamp(reservedTo.getTime()));
- p.execute();
- ResultSet rs = p.getResultSet();
- if (rs.next() && rs.getInt(1) > 0) {
- // TODO custom exception
- throw new RuntimeException("Not free!");
+ if (!isAvailableResource(resourceId, reservedFrom, reservedTo)) {
+ throw new ResourceNotAvailableException("The resource is not available at that time.");
}
- p = connection.prepareStatement(q);
+ PreparedStatement p = connection.prepareStatement(q);
p.setInt(1, resourceId);
p.setInt(2, reservedById);
p.setTimestamp(3,
p.setString(5, description);
p.execute();
} catch (Exception e) {
- // TODO
- System.err.println(e);
- e.printStackTrace(System.err);
+ throw new RuntimeException(e);
}
}
}
+ public boolean isAvailableResource(int resourceId, Date reservedFrom,
+ Date reservedTo) {
+ // TODO where deleted=?
+ if (reservedFrom.after(reservedTo)) {
+ Date tmp = reservedTo;
+ reservedTo = reservedFrom;
+ reservedFrom = tmp;
+ }
+ String checkQ = "SELECT count(*) FROM " + Reservation.TABLE + " WHERE "
+ + Reservation.PROPERTY_ID_RESOURCE_ID + "=? AND (("
+ + Reservation.PROPERTY_ID_RESERVED_FROM + ">=? AND "
+ + Reservation.PROPERTY_ID_RESERVED_FROM + "<=?) OR ("
+ + Reservation.PROPERTY_ID_RESERVED_TO + ">=? AND "
+ + Reservation.PROPERTY_ID_RESERVED_TO + "<=?) OR ("
+ + Reservation.PROPERTY_ID_RESERVED_FROM + "<=? AND "
+ + Reservation.PROPERTY_ID_RESERVED_TO + ">=?)" + ")";
+ try {
+ PreparedStatement p = connection.prepareStatement(checkQ);
+ p.setInt(1, resourceId);
+ p.setTimestamp(2, new java.sql.Timestamp(reservedFrom.getTime()));
+ p.setTimestamp(3, new java.sql.Timestamp(reservedTo.getTime()));
+ p.setTimestamp(4, new java.sql.Timestamp(reservedFrom.getTime()));
+ p.setTimestamp(5, new java.sql.Timestamp(reservedTo.getTime()));
+ p.setTimestamp(6, new java.sql.Timestamp(reservedFrom.getTime()));
+ p.setTimestamp(7, new java.sql.Timestamp(reservedTo.getTime()));
+ p.execute();
+ ResultSet rs = p.getResultSet();
+ if (rs.next() && rs.getInt(1) > 0) {
+ return false;
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ return true;
+ }
+
public Container getUsers() {
+ // TODO where deleted=?
String q = "SELECT * FROM " + User.TABLE + " ORDER BY "
+ User.PROPERTY_ID_FULLNAME;
try {
throw new RuntimeException(e);
}
}
-
+
public void generateResources() {
String[][] resources = {
{ "IT Mill Toolkit Manual", "the manual", "Books" },
- { "IT Mill Toolkit for Dummies", "the hardcover version", "Books" },
+ { "IT Mill Toolkit for Dummies", "the hardcover version",
+ "Books" },
{ "Sony", "Old Sony video projector", "AV equipment" },
{ "Sanyo", "Brand new hd-ready video projector", "AV equipment" },
{ "Room 7", "Converence room in the lobby", "Conference rooms" },
- { "Luokkahuone", "Classroom right next to IT Mill", "Conference rooms" },
- { "Nintendo Wii", "Teh uber fun", "Entertainment" },
- { "Playstation", "We don't actually have one", "Entertainment" }
- };
+ { "Luokkahuone", "Classroom right next to IT Mill",
+ "Conference rooms" },
+ { "Nintendo Wii", "Teh uber fun", "Entertainment" },
+ { "Playstation", "We don't actually have one", "Entertainment" } };
String q = "INSERT INTO " + Resource.TABLE + "("
+ Resource.PROPERTY_ID_NAME + ","