- Removed redundant modifiers from EmployeeRecord and ReportRecord.
- Added assertions to RecordKey constructors.
- Fixed sync operation on the server side.
Patch by: amitmanjhi
Review by: rjrjr (desk review)
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@7948 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRecord.java b/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRecord.java
index a5a8ee3..dc478e7 100644
--- a/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRecord.java
+++ b/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRecord.java
@@ -25,11 +25,10 @@
* IRL this class will be generated by a JPA-savvy tool run before compilation.
*/
public interface EmployeeRecord extends Record {
- public static final Property<String> userName = new Property<String>(
- "userName", String.class);
- public static final Property<String> displayName = new Property<String>(
- "displayName", String.class);
- public static final Property<EmployeeRecord> supervisor = new Property<EmployeeRecord>(
+ Property<String> userName = new Property<String>("userName", String.class);
+ Property<String> displayName = new Property<String>("displayName",
+ String.class);
+ Property<EmployeeRecord> supervisor = new Property<EmployeeRecord>(
"supervisor", EmployeeRecord.class);
String getDisplayName();
diff --git a/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRecord.java b/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRecord.java
index 1a1644e..2829fb9 100644
--- a/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRecord.java
+++ b/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRecord.java
@@ -28,12 +28,10 @@
*/
public interface ReportRecord extends Record {
- public static final Property<Date> created = new Property<Date>("created",
- Date.class);
- public static final Property<String> purpose = new Property<String>(
- "purpose", String.class);
- public static final Property<EmployeeRecord> reporter = new Property<EmployeeRecord>(
- "reporter", EmployeeRecord.class);
+ Property<Date> created = new Property<Date>("created", Date.class);
+ Property<String> purpose = new Property<String>("purpose", String.class);
+ Property<EmployeeRecord> reporter = new Property<EmployeeRecord>("reporter",
+ EmployeeRecord.class);
Date getCreated();
diff --git a/bikeshed/src/com/google/gwt/sample/expenses/server/ExpensesDataServlet.java b/bikeshed/src/com/google/gwt/sample/expenses/server/ExpensesDataServlet.java
index 364f363..218c41f 100644
--- a/bikeshed/src/com/google/gwt/sample/expenses/server/ExpensesDataServlet.java
+++ b/bikeshed/src/com/google/gwt/sample/expenses/server/ExpensesDataServlet.java
@@ -96,7 +96,7 @@
int length = reportArray.length();
if (length > 0) {
JSONObject report = reportArray.getJSONObject(0);
- Report r = Report.findReport(report.getLong(Record.id.getName()));
+ Report r = Report.findReport(report.getString(Record.id.getName()));
r.setPurpose(report.getString(ReportRecord.purpose.getName()));
r.persist();
report.put(Record.version.getName(), r.getVersion());
diff --git a/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Employee.java b/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Employee.java
index 0be04aa..9a5dfc4 100644
--- a/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Employee.java
+++ b/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Employee.java
@@ -60,7 +60,7 @@
}
}
- public static Employee findEmployee(Long id) {
+ public static Employee findEmployee(String id) {
if (id == null) {
return null;
}
diff --git a/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Report.java b/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Report.java
index 229b3d5..7027066 100644
--- a/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Report.java
+++ b/bikeshed/src/com/google/gwt/sample/expenses/server/domain/Report.java
@@ -62,7 +62,7 @@
}
}
- public static Report findReport(Long id) {
+ public static Report findReport(String id) {
if (id == null) {
return null;
}
diff --git a/bikeshed/src/com/google/gwt/valuestore/client/RecordKey.java b/bikeshed/src/com/google/gwt/valuestore/client/RecordKey.java
index 4d57591..2bde533 100644
--- a/bikeshed/src/com/google/gwt/valuestore/client/RecordKey.java
+++ b/bikeshed/src/com/google/gwt/valuestore/client/RecordKey.java
@@ -19,18 +19,28 @@
import com.google.gwt.valuestore.shared.impl.RecordJsoImpl;
import com.google.gwt.valuestore.shared.impl.RecordSchema;
+/**
+ * The key used to store {@link com.google.gwt.valuestore.shared.Record Record}s
+ * in {@link com.google.gwt.valuestore.shared.ValueStore ValueStore}.
+ */
class RecordKey {
final RecordSchema<?> schema;
final Object id;
RecordKey(RecordImpl record) {
- this.schema = record.getSchema();
- this.id = record.getId();
+ this(record.getId(), record.getSchema());
}
RecordKey(RecordJsoImpl record) {
- this.schema = record.getSchema();
- this.id = record.getId();
+ this(record.getId(), record.getSchema());
+ }
+
+ private RecordKey(Object id, RecordSchema<?> schema) {
+ assert id != null;
+ assert schema != null;
+
+ this.id = id;
+ this.schema = schema;
}
@Override