Revision: 8448
Author: [email protected]
Date: Fri Jul 30 15:04:18 2010
Log: Fixed 2 TODOs: (a) removed the RequestFactory variable from
AbstractRecordEditActivity,
(b) Removed all the nested interfaces from RequestFactory.
Patch by: amitmanjhi
Review by: rjrjr
Review at http://gwt-code-reviews.appspot.com/731802
http://code.google.com/p/google-web-toolkit/source/detail?r=8448
Added:
/trunk/user/src/com/google/gwt/requestfactory/server/RequestDefinition.java
/trunk/user/src/com/google/gwt/requestfactory/shared/RequestObject.java
Modified:
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/ExpenseDetails.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/MobileExpenseEntry.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/MobileReportEntry.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRequest.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ExpenseRequest.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRequest.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeDetailsActivity.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeEditActivity.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportDetailsActivity.java
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportEditActivity.java
/trunk/user/src/com/google/gwt/app/place/AbstractRecordEditActivity.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractDoubleRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractIntegerRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractJsonListRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractJsonObjectRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractLongRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractVoidRequest.java
/trunk/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java
/trunk/user/src/com/google/gwt/requestfactory/server/OperationRegistry.java
/trunk/user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java
/trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
/trunk/user/src/com/google/gwt/requestfactory/shared/LoggingRequest.java
/trunk/user/src/com/google/gwt/requestfactory/shared/RecordListRequest.java
/trunk/user/src/com/google/gwt/requestfactory/shared/RecordRequest.java
/trunk/user/src/com/google/gwt/requestfactory/shared/RequestFactory.java
/trunk/user/test/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistryTest.java
/trunk/user/test/com/google/gwt/requestfactory/server/SimpleFooRequest.java
=======================================
--- /dev/null
+++
/trunk/user/src/com/google/gwt/requestfactory/server/RequestDefinition.java
Fri Jul 30 15:04:18 2010
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
not
+ * use this file except in compliance with the License. You may obtain a
copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
under
+ * the License.
+ */
+package com.google.gwt.requestfactory.server;
+
+/**
+ * <p>
+ * <span style="color:red">Experimental API: This class is still under
rapid
+ * development, and is very likely to be deleted. Use it at your own risk.
+ * </span>
+ * </p>
+ * Implemented by enums that define the mapping between request objects and
+ * service methods.
+ */
+public interface RequestDefinition {
+ /**
+ * Returns the name of the (domain) class that contains the method to be
+ * invoked on the server.
+ */
+ String getDomainClassName();
+
+ /**
+ * Returns the name of the method to be invoked on the server.
+ */
+ String getDomainMethodName();
+
+ /**
+ * Returns the parameter types of the method to be invoked on the server.
+ */
+ Class<?>[] getParameterTypes();
+
+ /**
+ * Returns the return type of the method to be invoked on the server.
+ */
+ Class<?> getReturnType();
+
+ /**
+ * Returns true if the request returns Lists of {...@link #getReturnType},
+ * false for single instances.
+ */
+ boolean isReturnTypeList();
+
+ /**
+ * Returns the name.
+ */
+ String name();
+}
=======================================
--- /dev/null
+++ /trunk/user/src/com/google/gwt/requestfactory/shared/RequestObject.java
Fri Jul 30 15:04:18 2010
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
not
+ * use this file except in compliance with the License. You may obtain a
copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations
under
+ * the License.
+ */
+package com.google.gwt.requestfactory.shared;
+
+import com.google.gwt.valuestore.shared.Property;
+import com.google.gwt.valuestore.shared.Record;
+
+/**
+ * <p>
+ * <span style="color:red">Experimental API: This class is still under
rapid
+ * development, and is very likely to be deleted. Use it at your own risk.
+ * </span>
+ * </p>
+ * Implemented by the request objects created by this factory.
+ * @param <T> The return type of objects in the corresponding response.
+ */
+public interface RequestObject<T> {
+ // reset the DeltaValueStore.
+ void reset();
+
+ void fire(Receiver<T> receiver);
+
+ // can get access to a DeltaValueStore only in the context of a
RequestObject.
+ DeltaValueStore getDeltaValueStore();
+
+ String getRequestData();
+
+ void handleResponseText(String responseText);
+
+ <V> void set(Property<V> property, Record record, V value);
+}
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/ExpenseDetails.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/ExpenseDetails.java
Fri Jul 30 15:04:18 2010
@@ -41,7 +41,7 @@
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory.RequestObject;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.sample.bikeshed.style.client.Styles;
import com.google.gwt.sample.expenses.gwt.request.EmployeeRecord;
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/MobileExpenseEntry.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/MobileExpenseEntry.java
Fri Jul 30 15:04:18 2010
@@ -19,7 +19,7 @@
import com.google.gwt.dom.client.Element;
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.sample.expenses.gwt.request.ExpenseRecord;
import com.google.gwt.sample.expenses.gwt.request.ExpensesRequestFactory;
import com.google.gwt.uibinder.client.UiBinder;
@@ -56,7 +56,7 @@
private ExpenseRecord expense;
private final ExpensesRequestFactory requestFactory;
private final Listener listener;
- private RequestFactory.RequestObject<Void> requestObject;
+ private RequestObject<Void> requestObject;
public MobileExpenseEntry(Listener listener,
ExpensesRequestFactory requestFactory) {
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/MobileReportEntry.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/MobileReportEntry.java
Fri Jul 30 15:04:18 2010
@@ -19,7 +19,7 @@
import com.google.gwt.dom.client.Element;
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.sample.expenses.gwt.request.ExpenseRecord;
import com.google.gwt.sample.expenses.gwt.request.ExpensesRequestFactory;
import com.google.gwt.sample.expenses.gwt.request.ReportRecord;
@@ -62,7 +62,7 @@
private ReportRecord report;
private final ExpensesRequestFactory requestFactory;
private final Listener listener;
- private RequestFactory.RequestObject<Void> requestObject;
+ private RequestObject<Void> requestObject;
public MobileReportEntry(Listener listener,
ExpensesRequestFactory requestFactory) {
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/EmployeeRequest.java
Fri Jul 30 15:04:18 2010
@@ -18,7 +18,7 @@
import com.google.gwt.requestfactory.shared.Instance;
import com.google.gwt.requestfactory.shared.RecordListRequest;
import com.google.gwt.requestfactory.shared.RecordRequest;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.requestfactory.shared.Service;
import com.google.gwt.sample.expenses.server.domain.Employee;
import com.google.gwt.valuestore.shared.PropertyReference;
@@ -36,12 +36,12 @@
/**
* @return a request object
*/
- RequestFactory.RequestObject<Long> countEmployees();
+ RequestObject<Long> countEmployees();
/**
* @return a request object
*/
- RequestFactory.RequestObject<Long> countEmployeesByDepartment(
+ RequestObject<Long> countEmployeesByDepartment(
String department);
/**
@@ -71,12 +71,12 @@
* @return a request object
*/
@Instance
- RequestFactory.RequestObject<Void> persist();
+ RequestObject<Void> persist();
// TODO: a hack for now.
/**
* @return a request object
*/
@Instance
- RequestFactory.RequestObject<Void> remove();
-}
+ RequestObject<Void> remove();
+}
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ExpenseRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ExpenseRequest.java
Fri Jul 30 15:04:18 2010
@@ -17,7 +17,7 @@
import com.google.gwt.requestfactory.shared.Instance;
import com.google.gwt.requestfactory.shared.RecordListRequest;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.requestfactory.shared.Service;
import com.google.gwt.sample.expenses.server.domain.Expense;
import com.google.gwt.valuestore.shared.PropertyReference;
@@ -54,12 +54,12 @@
* @return a request object
*/
@Instance
- RequestFactory.RequestObject<Void> persist();
+ RequestObject<Void> persist();
/**
* @return a request object
*/
@Instance
- RequestFactory.RequestObject<Void> remove();
+ RequestObject<Void> remove();
}
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/request/ReportRequest.java
Fri Jul 30 15:04:18 2010
@@ -18,7 +18,7 @@
import com.google.gwt.requestfactory.shared.Instance;
import com.google.gwt.requestfactory.shared.RecordListRequest;
import com.google.gwt.requestfactory.shared.RecordRequest;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.requestfactory.shared.Service;
import com.google.gwt.sample.expenses.server.domain.Report;
import com.google.gwt.valuestore.shared.PropertyReference;
@@ -36,12 +36,12 @@
/**
* @return a request object
*/
- RequestFactory.RequestObject<Long> countReports();
+ RequestObject<Long> countReports();
/**
* @return a request object
*/
- RequestFactory.RequestObject<Long> countReportsBySearch(Long employeeId,
+ RequestObject<Long> countReportsBySearch(Long employeeId,
String department, String startsWith);
/**
@@ -78,11 +78,11 @@
* @return a request object
*/
@Instance
- RequestFactory.RequestObject<Void> persist();
+ RequestObject<Void> persist();
/**
* @return a request object
*/
@Instance
- RequestFactory.RequestObject<Void> remove();
-}
+ RequestObject<Void> remove();
+}
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeDetailsActivity.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeDetailsActivity.java
Fri Jul 30 15:04:18 2010
@@ -20,7 +20,7 @@
import com.google.gwt.app.place.RecordDetailsView;
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory.RequestObject;
+import com.google.gwt.requestfactory.shared.RequestObject;
import
com.google.gwt.sample.expenses.gwt.client.place.EmployeeScaffoldPlace;
import com.google.gwt.sample.expenses.gwt.client.place.ScaffoldPlace;
import
com.google.gwt.sample.expenses.gwt.client.place.ScaffoldRecordPlace.Operation;
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeEditActivity.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/employee/EmployeeEditActivity.java
Fri Jul 30 15:04:18 2010
@@ -58,7 +58,7 @@
public EmployeeEditActivity(String id, RecordEditView<EmployeeRecord>
view,
ExpensesRequestFactory requests,
PlaceController<ScaffoldPlace> placeController) {
- super(view, id, requests, requests.employeeRequest().persist());
+ super(view, id, requests.employeeRequest().persist());
this.requests = requests;
this.placeController = placeController;
}
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportDetailsActivity.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportDetailsActivity.java
Fri Jul 30 15:04:18 2010
@@ -20,7 +20,7 @@
import com.google.gwt.app.place.RecordDetailsView;
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory.RequestObject;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.sample.expenses.gwt.client.place.ReportScaffoldPlace;
import com.google.gwt.sample.expenses.gwt.client.place.ScaffoldPlace;
import
com.google.gwt.sample.expenses.gwt.client.place.ScaffoldRecordPlace.Operation;
=======================================
---
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportEditActivity.java
Wed Jul 28 16:39:40 2010
+++
/trunk/bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportEditActivity.java
Fri Jul 30 15:04:18 2010
@@ -58,7 +58,7 @@
public ReportEditActivity(String id, RecordEditView<ReportRecord> view,
ExpensesRequestFactory requests,
PlaceController<ScaffoldPlace> placeController) {
- super(view, id, requests, requests.reportRequest().persist());
+ super(view, id, requests.reportRequest().persist());
this.requests = requests;
this.placeController = placeController;
}
=======================================
---
/trunk/user/src/com/google/gwt/app/place/AbstractRecordEditActivity.java
Fri Jul 30 07:51:15 2010
+++
/trunk/user/src/com/google/gwt/app/place/AbstractRecordEditActivity.java
Fri Jul 30 15:04:18 2010
@@ -17,7 +17,7 @@
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.user.client.Window;
import com.google.gwt.valuestore.shared.Record;
import com.google.gwt.valuestore.shared.SyncResult;
@@ -38,22 +38,19 @@
public abstract class AbstractRecordEditActivity<R extends Record>
implements
Activity, RecordEditView.Delegate {
- // TODO(amitmanjhi): get rid of the requests field.
- private final RequestFactory requests;
private final boolean creating;
private final RecordEditView<R> view;
private String id;
private String futureId;
private Display display;
- private RequestFactory.RequestObject<Void> requestObject;
+ private RequestObject<Void> requestObject;
public AbstractRecordEditActivity(RecordEditView<R> view, String id,
- RequestFactory requests, RequestFactory.RequestObject<Void>
requestObject) {
+ RequestObject<Void> requestObject) {
this.view = view;
this.creating = "".equals(id);
this.id = id;
- this.requests = requests;
this.requestObject = requestObject;
}
@@ -94,7 +91,7 @@
}
view.setEnabled(false);
- final RequestFactory.RequestObject<Void> toCommit = requestObject;
+ final RequestObject<Void> toCommit = requestObject;
requestObject = null;
Receiver<Void> receiver = new Receiver<Void>() {
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractDoubleRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractDoubleRequest.java
Fri Jul 30 15:04:18 2010
@@ -26,7 +26,7 @@
* </span>
* </p>
* Abstract implementation of
- * {...@link com.google.gwt.requestfactory.shared.RequestFactory.RequestObject
+ * {...@link com.google.gwt.requestfactory.shared.RequestObject
* RequestFactory.RequestObject} for requests that return Double.
*/
public abstract class AbstractDoubleRequest extends
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractIntegerRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractIntegerRequest.java
Fri Jul 30 15:04:18 2010
@@ -26,7 +26,7 @@
* </span>
* </p>
* Abstract implementation of
- * {...@link com.google.gwt.requestfactory.shared.RequestFactory.RequestObject
+ * {...@link com.google.gwt.requestfactory.shared.RequestObject
* RequestFactory.RequestObject} for requests that return Integer.
*/
public abstract class AbstractIntegerRequest extends
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractJsonListRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractJsonListRequest.java
Fri Jul 30 15:04:18 2010
@@ -33,7 +33,7 @@
* </span>
* </p>
* Abstract implementation of
- * {...@link com.google.gwt.requestfactory.shared.RequestFactory.RequestObject
+ * {...@link com.google.gwt.requestfactory.shared.RequestObject
* RequestFactory.RequestObject} for requests that return lists of
* {...@link Record}.
*
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractJsonObjectRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractJsonObjectRequest.java
Fri Jul 30 15:04:18 2010
@@ -30,7 +30,7 @@
* </span>
* </p>
* Abstract implementation of
- * {...@link com.google.gwt.requestfactory.shared.RequestFactory.RequestObject
+ * {...@link com.google.gwt.requestfactory.shared.RequestObject
* RequestFactory.RequestObject} for requests that return single instances
of
* {...@link Record}.
*
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractLongRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractLongRequest.java
Fri Jul 30 15:04:18 2010
@@ -26,7 +26,7 @@
* </span>
* </p>
* Abstract implementation of
- * {...@link com.google.gwt.requestfactory.shared.RequestFactory.RequestObject
+ * {...@link com.google.gwt.requestfactory.shared.RequestObject
* RequestFactory.RequestObject} for requests that return Long.
*/
public abstract class AbstractLongRequest extends
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
Fri Jul 30 15:04:18 2010
@@ -17,7 +17,7 @@
import com.google.gwt.requestfactory.shared.DeltaValueStore;
import com.google.gwt.requestfactory.shared.Receiver;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.valuestore.shared.Property;
import com.google.gwt.valuestore.shared.Record;
@@ -32,14 +32,14 @@
* development, and is very likely to be deleted. Use it at your own risk.
* </span>
* </p>
- * Abstract implementation of {...@link RequestFactory.RequestObject}. Each
request
+ * Abstract implementation of {...@link RequestObject}. Each request
* stores a {...@link DeltaValueStore}.
*
* @param <T> return type
* @param <R> type of this request object
*/
public abstract class AbstractRequest<T, R extends AbstractRequest<T, R>>
- implements RequestFactory.RequestObject<T> {
+ implements RequestObject<T> {
protected final RequestFactoryJsonImpl requestFactory;
protected DeltaValueStore deltaValueStore;
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractVoidRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractVoidRequest.java
Fri Jul 30 15:04:18 2010
@@ -26,7 +26,7 @@
* </span>
* </p>
* Abstract implementation of
- * {...@link com.google.gwt.requestfactory.shared.RequestFactory.RequestObject
+ * {...@link com.google.gwt.requestfactory.shared.RequestObject
* RequestFactory.RequestObject} for requests that return Void.
*/
public abstract class AbstractVoidRequest extends
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java
Fri Jul 30 15:04:18 2010
@@ -24,6 +24,7 @@
import com.google.gwt.http.client.Response;
import com.google.gwt.requestfactory.shared.RequestEvent;
import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.requestfactory.shared.RequestEvent.State;
import com.google.gwt.requestfactory.shared.impl.RequestDataManager;
import com.google.gwt.valuestore.shared.Record;
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/server/OperationRegistry.java
Thu Jun 24 14:48:00 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/server/OperationRegistry.java
Fri Jul 30 15:04:18 2010
@@ -15,7 +15,6 @@
*/
package com.google.gwt.requestfactory.server;
-import com.google.gwt.requestfactory.shared.RequestFactory;
/**
* <p>
@@ -27,5 +26,5 @@
*/
public interface OperationRegistry {
- RequestFactory.RequestDefinition getOperation(String operationName);
-}
+ RequestDefinition getOperation(String operationName);
+}
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java
Thu Jun 24 14:48:00 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java
Fri Jul 30 15:04:18 2010
@@ -16,7 +16,7 @@
package com.google.gwt.requestfactory.server;
import com.google.gwt.requestfactory.shared.DataTransferObject;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.requestfactory.shared.Service;
import com.google.gwt.valuestore.shared.Record;
@@ -34,12 +34,12 @@
* </p>
* OperationRegistry which uses the operation name as a convention for
* reflection to a method on a class, and returns an appropriate {...@link
- * com.google.gwt.requestfactory.shared.RequestFactory.RequestDefinition}.
+ * com.google.gwt.requestfactory.server.RequestDefinition}.
*/
public class ReflectionBasedOperationRegistry implements OperationRegistry
{
class ReflectiveRequestDefinition
- implements RequestFactory.RequestDefinition {
+ implements RequestDefinition {
private Class<?> requestClass;
@@ -110,7 +110,7 @@
ParameterizedType pType = (ParameterizedType) type;
Class<?> rawType = (Class<?>) pType.getRawType();
if (List.class.isAssignableFrom(rawType)
- ||
RequestFactory.RequestObject.class.isAssignableFrom(rawType)) {
+ || RequestObject.class.isAssignableFrom(rawType)) {
Class<?> rType = getTypeArgument(pType);
if (rType != null) {
if (List.class.isAssignableFrom(rType)) {
@@ -154,7 +154,7 @@
* Turns an operation in the form of package.requestClass::method into a
* RequestDefinition via reflection.
*/
- public RequestFactory.RequestDefinition getOperation(String
operationName) {
+ public RequestDefinition getOperation(String operationName) {
String decodedOperationName =
securityProvider.mapOperation(operationName);
String parts[] = decodedOperationName.split(SCOPE_SEPARATOR);
final String reqClassName = parts[0];
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
Fri Jul 30 07:51:15 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java
Fri Jul 30 15:04:18 2010
@@ -17,7 +17,6 @@
import com.google.gwt.requestfactory.shared.DataTransferObject;
import com.google.gwt.requestfactory.shared.RequestFactory;
-import
com.google.gwt.requestfactory.shared.RequestFactory.RequestDefinition;
import com.google.gwt.requestfactory.shared.impl.RequestDataManager;
import com.google.gwt.valuestore.shared.Property;
import com.google.gwt.valuestore.shared.Record;
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/shared/LoggingRequest.java
Mon Jul 26 15:35:20 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/shared/LoggingRequest.java
Fri Jul 30 15:04:18 2010
@@ -31,7 +31,7 @@
// supported for now, so using it as a boolean.
// Should also be passing something better than a series of strings, but
// that's the only possibility for now.
- RequestFactory.RequestObject<Long> logMessage(
+ RequestObject<Long> logMessage(
String level, String loggerName, String message);
}
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/shared/RecordListRequest.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/shared/RecordListRequest.java
Fri Jul 30 15:04:18 2010
@@ -33,7 +33,7 @@
* @param <R> The type held by the returned list
*/
public interface RecordListRequest<R extends Record> extends
- RequestFactory.RequestObject<List<R>> {
+ RequestObject<List<R>> {
RecordListRequest<R> forProperties(Collection<Property<?>> properties);
=======================================
--- /trunk/user/src/com/google/gwt/requestfactory/shared/RecordRequest.java
Wed Jul 28 16:39:40 2010
+++ /trunk/user/src/com/google/gwt/requestfactory/shared/RecordRequest.java
Fri Jul 30 15:04:18 2010
@@ -32,7 +32,7 @@
* @param <R> return type
*/
public interface RecordRequest<R extends Record> extends
- RequestFactory.RequestObject<R> {
+ RequestObject<R> {
RecordRequest<R> forProperties(Collection<Property<?>> properties);
=======================================
---
/trunk/user/src/com/google/gwt/requestfactory/shared/RequestFactory.java
Wed Jul 28 16:39:40 2010
+++
/trunk/user/src/com/google/gwt/requestfactory/shared/RequestFactory.java
Fri Jul 30 15:04:18 2010
@@ -16,7 +16,6 @@
package com.google.gwt.requestfactory.shared;
import com.google.gwt.event.shared.HandlerManager;
-import com.google.gwt.valuestore.shared.Property;
import com.google.gwt.valuestore.shared.Record;
import com.google.gwt.valuestore.shared.ValueStore;
@@ -29,64 +28,6 @@
* Marker interface for the RequestFactory code generator.
*/
public interface RequestFactory {
-
- // TODO all these inner interfaces are clutter, move them to their own
files
- /**
- * Implemented by enums that define the mapping between request objects
and
- * service methods.
- */
- interface RequestDefinition {
- /**
- * Returns the name of the (domain) class that contains the method to
be
- * invoked on the server.
- */
- String getDomainClassName();
-
- /**
- * Returns the name of the method to be invoked on the server.
- */
- String getDomainMethodName();
-
- /**
- * Returns the parameter types of the method to be invoked on the
server.
- */
- Class<?>[] getParameterTypes();
-
- /**
- * Returns the return type of the method to be invoked on the server.
- */
- Class<?> getReturnType();
-
- /**
- * Returns true if the request returns Lists of {...@link #getReturnType},
- * false for single instances.
- */
- boolean isReturnTypeList();
-
- /**
- * Returns the name.
- */
- String name();
- }
-
- /**
- * Implemented by the request objects created by this factory.
- */
- interface RequestObject<T> {
- // reset the DeltaValueStore.
- void reset();
-
- void fire(Receiver<T> receiver);
-
- // can get access to a DeltaValueStore only in the context of a
RequestObject.
- DeltaValueStore getDeltaValueStore();
-
- String getRequestData();
-
- void handleResponseText(String responseText);
-
- <V> void set(Property<V> property, Record record, V value);
- }
// TODO: this must be configurable
String URL = "gwtRequest";
=======================================
---
/trunk/user/test/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistryTest.java
Thu Jun 24 14:48:00 2010
+++
/trunk/user/test/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistryTest.java
Fri Jul 30 15:04:18 2010
@@ -15,7 +15,6 @@
*/
package com.google.gwt.requestfactory.server;
-import com.google.gwt.requestfactory.shared.RequestFactory;
import com.google.gwt.valuestore.shared.SimpleFooRecord;
import junit.framework.TestCase;
@@ -35,7 +34,7 @@
}
public void testGetOperationListNoArgs() {
- RequestFactory.RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::findAll");
+ RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::findAll");
assert request != null;
assertEquals("com.google.gwt.requestfactory.server.SimpleFoo",
request.getDomainClassName());
@@ -46,7 +45,7 @@
}
public void testGetOperationScalarNoArgs() {
- RequestFactory.RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::countSimpleFoo");
+ RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::countSimpleFoo");
assert request != null;
assertEquals("com.google.gwt.requestfactory.server.SimpleFoo",
request.getDomainClassName());
@@ -57,7 +56,7 @@
}
public void testGetOpertionScalarWithArgs() {
- RequestFactory.RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::findSimpleFooById");
+ RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::findSimpleFooById");
assert request != null;
assertEquals("com.google.gwt.requestfactory.server.SimpleFoo",
request.getDomainClassName());
@@ -86,7 +85,7 @@
}
public void testPrivateMethodFails() {
- RequestFactory.RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::privateMethod");
+ RequestDefinition request =
registry.getOperation("com.google.gwt.requestfactory.server.SimpleFooRequest::privateMethod");
assert request == null;
}
}
=======================================
---
/trunk/user/test/com/google/gwt/requestfactory/server/SimpleFooRequest.java
Thu Jun 24 14:48:00 2010
+++
/trunk/user/test/com/google/gwt/requestfactory/server/SimpleFooRequest.java
Fri Jul 30 15:04:18 2010
@@ -16,7 +16,7 @@
package com.google.gwt.requestfactory.server;
import com.google.gwt.requestfactory.shared.RecordListRequest;
-import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.RequestObject;
import com.google.gwt.requestfactory.shared.Service;
import com.google.gwt.valuestore.shared.SimpleFooRecord;
@@ -25,8 +25,8 @@
*/
@Service(com.google.gwt.requestfactory.server.SimpleFoo.class)
public interface SimpleFooRequest {
- RequestFactory.RequestObject<Long> countSimpleFoo();
+ RequestObject<Long> countSimpleFoo();
RecordListRequest<SimpleFooRecord> findAll();
- RequestFactory.RequestObject<SimpleFooRecord> findSimpleFooById(Long id);
- RequestFactory.RequestObject<Integer> privateMethod();
-}
+ RequestObject<SimpleFooRecord> findSimpleFooById(Long id);
+ RequestObject<Integer> privateMethod();
+}
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors