Revision: 8528
Author: [email protected]
Date: Thu Aug 12 13:14:13 2010
Log: Adds (unused by this patch, but needed in forthcoming history code)
RecordImpl#isFuture.

Review at http://gwt-code-reviews.appspot.com/760801

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=8528

Modified:
 /trunk/user/src/com/google/gwt/requestfactory/client/impl/RecordImpl.java
 /trunk/user/src/com/google/gwt/requestfactory/client/impl/RecordSchema.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java /trunk/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java /trunk/user/test/com/google/gwt/requestfactory/client/impl/DeltaValueStoreJsonImplTest.java /trunk/user/test/com/google/gwt/requestfactory/client/impl/RecordJsoImplTest.java /trunk/user/test/com/google/gwt/requestfactory/client/impl/SimpleFooRecordImpl.java

=======================================
--- /trunk/user/src/com/google/gwt/requestfactory/client/impl/RecordImpl.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/client/impl/RecordImpl.java Thu Aug 12 09:59:46 2010
@@ -34,10 +34,12 @@
  */
 public class RecordImpl implements Record {
   private final RecordJsoImpl jso;
+  private final boolean isFuture;
   private DeltaValueStoreJsonImpl deltaValueStore;

-  protected RecordImpl(RecordJsoImpl record) {
+  protected RecordImpl(RecordJsoImpl record, boolean isFuture) {
     this.jso = record;
+    this.isFuture = isFuture;
     deltaValueStore = null;
   }

@@ -71,6 +73,10 @@
     }
     return deltaValueStore.isChanged();
   }
+
+  public boolean isFuture() {
+    return isFuture;
+  }

   public <V> void set(Property<V> property, RecordImpl record, V value) {
     if (deltaValueStore == null) {
=======================================
--- /trunk/user/src/com/google/gwt/requestfactory/client/impl/RecordSchema.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/client/impl/RecordSchema.java Thu Aug 12 09:59:46 2010
@@ -51,7 +51,11 @@
     return allProperties;
   }

-  public abstract R create(RecordJsoImpl jso);
+  public final R create(RecordJsoImpl jso) {
+    return create(jso, false);
+  }
+
+  public abstract R create(RecordJsoImpl jso, boolean isFuture);

   public abstract RecordChangedEvent<?, ?> createChangeEvent(Record record,
       WriteOperation writeOperation);
@@ -62,6 +66,6 @@
     return createChangeEvent(record, writeOperation);
   }

+  // TODO(rjrjr) rename getProxyClass
   public abstract Class<? extends Record> getToken();
-
-}
+}
=======================================
--- /trunk/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java Thu Aug 12 09:59:46 2010
@@ -47,6 +47,8 @@
  */
 public abstract class RequestFactoryJsonImpl implements RequestFactory {

+  // TODO(amitmanjhi) Dump this and the one in DeltaValueStore in favor of
+  // RecordImpl#isFuture
   static class FutureIdGenerator {
     Set<Long> idsInTransit = new HashSet<Long>();
     Long maxId = 1L;
@@ -65,9 +67,8 @@
     }
   }

-  private static Logger logger =
-    Logger.getLogger(RequestFactory.class.getName());
-
+ private static Logger logger = Logger.getLogger(RequestFactory.class.getName());
+
   // A separate logger for wire activity, which does not get logged by the
   // remote log handler, so we avoid infinite loops. All log messages that
// could happen every time a request is made from the server should be logged
@@ -88,21 +89,18 @@

   public com.google.gwt.valuestore.shared.Record create(
       Class<? extends Record> token, RecordToTypeMap recordToTypeMap) {
-    Long futureId = futureIdGenerator.getFutureId();

     RecordSchema<? extends Record> schema = recordToTypeMap.getType(token);
- RecordJsoImpl newRecord = RecordJsoImpl.create(futureId, INITIAL_VERSION,
-        schema);
-    RecordKey recordKey = new RecordKey(newRecord);
-    creates.put(recordKey, newRecord);
-    return schema.create(newRecord);
+    if (schema == null) {
+      throw new IllegalArgumentException("Unknown proxy type: " + token);
+    }
+    return createFuture(schema);
   }

   public void fire(final RequestObject<?> requestObject) {
     RequestBuilder builder = new RequestBuilder(RequestBuilder.POST,
         GWT.getHostPageBaseURL() + RequestFactory.URL);
-    builder.setHeader(
-        "Content-Type", RequestFactory.JSON_CONTENT_TYPE_UTF8);
+ builder.setHeader("Content-Type", RequestFactory.JSON_CONTENT_TYPE_UTF8);
     builder.setHeader("pageurl", Location.getHref());
builder.setRequestData(ClientRequestHelper.getRequestString(requestObject.getRequestData().getRequestMap(
         ((AbstractRequest) requestObject).deltaValueStore.toJson())));
@@ -124,8 +122,8 @@
// During the redirection for logging in, we get a response with no
           // status code, but it's not an error, so we only log errors with
           // bad status codes here.
-          wireLogger.severe(SERVER_ERROR + " " + response.getStatusCode() +
-              " " + response.getText());
+ wireLogger.severe(SERVER_ERROR + " " + response.getStatusCode() + " "
+              + response.getText());
         }
         postRequestEvent(State.RECEIVED, response);
       }
@@ -137,7 +135,8 @@
       builder.send();
       postRequestEvent(State.SENT, null);
     } catch (RequestException e) {
- wireLogger.log(Level.SEVERE, SERVER_ERROR + " (" + e.getMessage() + ")", e); + wireLogger.log(Level.SEVERE, SERVER_ERROR + " (" + e.getMessage() + ")",
+          e);
     }
   }

@@ -147,14 +146,24 @@
   public void init(HandlerManager handlerManager) {
     this.valueStore = new ValueStoreJsonImpl(handlerManager);
     this.handlerManager = handlerManager;
-    Logger.getLogger("").addHandler(new RequestFactoryLogHandler(
-        this, Level.WARNING, wireLogger.getName()));
+    Logger.getLogger("").addHandler(
+ new RequestFactoryLogHandler(this, Level.WARNING, wireLogger.getName()));
     logger.fine("Successfully initialized RequestFactory");
   }

   ValueStoreJsonImpl getValueStore() {
     return valueStore;
   }
+
+  private Record createFuture(
+      RecordSchema<? extends Record> schema) {
+    Long futureId = futureIdGenerator.getFutureId();
+ RecordJsoImpl newRecord = RecordJsoImpl.create(futureId, INITIAL_VERSION,
+        schema);
+    RecordKey recordKey = new RecordKey(newRecord);
+    creates.put(recordKey, newRecord);
+    return schema.create(newRecord);
+  }

   private void postRequestEvent(State received, Response response) {
     handlerManager.fireEvent(new RequestEvent(received, response));
=======================================
--- /trunk/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java Thu Aug 12 09:59:46 2010
@@ -197,10 +197,10 @@
           recordImplTypeName));

       sw.println();
-      sw.println(String.format("private %s(RecordJsoImpl jso) {",
+ sw.println(String.format("private %s(RecordJsoImpl jso, boolean isFuture) {",
           recordImplTypeName));
       sw.indent();
-      sw.println("super(jso);");
+      sw.println("super(jso, isFuture);");
       sw.outdent();
       sw.println("}");

@@ -716,10 +716,10 @@

     sw.println();
     sw.println("@Override");
-    sw.println(String.format("public %s create(RecordJsoImpl jso) {",
+ sw.println(String.format("public %s create(RecordJsoImpl jso, boolean isFuture) {",
         recordImplTypeName));
     sw.indent();
-    sw.println(String.format("return new %s(jso);", recordImplTypeName));
+ sw.println(String.format("return new %s(jso, isFuture);", recordImplTypeName));
     sw.outdent();
     sw.println("}");

=======================================
--- /trunk/user/test/com/google/gwt/requestfactory/client/impl/DeltaValueStoreJsonImplTest.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/test/com/google/gwt/requestfactory/client/impl/DeltaValueStoreJsonImplTest.java Thu Aug 12 09:59:46 2010
@@ -39,7 +39,7 @@
   private class MyRecordImpl extends RecordImpl {

     protected MyRecordImpl(RecordJsoImpl record) {
-      super(record);
+      super(record, false);
     }
   }

=======================================
--- /trunk/user/test/com/google/gwt/requestfactory/client/impl/RecordJsoImplTest.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/test/com/google/gwt/requestfactory/client/impl/RecordJsoImplTest.java Thu Aug 12 09:59:46 2010
@@ -41,7 +41,7 @@

   public void testEmptyCopy() {
     RecordJsoImpl emptyCopy = RecordJsoImpl.emptyCopy(new RecordImpl(
-        getPopulatedJso()));
+        getPopulatedJso(), false));
     testMinimalJso(emptyCopy, SCHEMA_PRESENT);
   }

=======================================
--- /trunk/user/test/com/google/gwt/requestfactory/client/impl/SimpleFooRecordImpl.java Tue Aug 10 18:34:06 2010 +++ /trunk/user/test/com/google/gwt/requestfactory/client/impl/SimpleFooRecordImpl.java Thu Aug 12 09:59:46 2010
@@ -56,8 +56,8 @@
     }

     @Override
-    public SimpleFooRecordImpl create(RecordJsoImpl jso) {
-      return new SimpleFooRecordImpl(jso);
+ public SimpleFooRecordImpl create(RecordJsoImpl jso, boolean isFuture) {
+      return new SimpleFooRecordImpl(jso, isFuture);
     }

     @Override
@@ -74,8 +74,8 @@

public static final RecordSchema<SimpleFooRecordImpl> SCHEMA = new MySchema();

-  private SimpleFooRecordImpl(RecordJsoImpl jso) {
-    super(jso);
+  private SimpleFooRecordImpl(RecordJsoImpl jso, boolean isFuture) {
+    super(jso, isFuture);
   }

   public Boolean getBoolField() {

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to