I'm sorry I've only started to review the files (over the last few days)
but I have a first question/comment about where this is going:

There are many things that are not needed in the case of MobileWebApp as
the host page is protected behind authentication. Because the user won't
ever see this page when being unauthenticated:
 - LoginWidget does not need to have a dual state (there's no need for a
"login" link)
 - the username could be inlined in the script generated by the JSP
(that might not work very well with the ApplicationCache/offline though)

Also, there's probably no need to pass MobileWebApp.jsp as an init-param
to the GaeAuthFilter as it could just use getContextPath()
(MobileWebApp.jsp is in the welcome-file-list in the web.xml), or "/"
(the context path is always "/" on GAE)

As far as offline is concerned, it might get in our way here, but I'm no
expert in mobile dev. Anyway, it seems to cause us more harm than
anything, and the linker is known not to be great (it will load all
permutations in the client's cache, only to use one of them)

This would greatly simplify the code, at the expense of removing a bunch
of reusable code (LoginWidget, etc.)


http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java
File
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java
(right):

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java#newcode18
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthRequestTransport.java:18:
import com.google.gwt.event.shared.EventBus;
Why this change?

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthenticationFailureEvent.java
File
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthenticationFailureEvent.java
(right):

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthenticationFailureEvent.java#newcode18
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthenticationFailureEvent.java:18:
import com.google.gwt.event.shared.EventBus;
Same question: what's the reason behind this change?

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthenticationFailureEvent.java#newcode64
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/client/GaeAuthenticationFailureEvent.java:64:
* @param state a {@link State} instance
This looks like a leftover from an experiment (remark also applies to
the javadoc on the loginUrl field)

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/webapp/MobileWebApp.jsp
File samples/mobilewebapp/src/main/webapp/MobileWebApp.jsp (right):

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/webapp/MobileWebApp.jsp#newcode37
samples/mobilewebapp/src/main/webapp/MobileWebApp.jsp:37:
window['__gwtsample_mobilewebapp__'].loginUrl =
'<%=appUrls.getLoginUrl()%>';
Wouldn't an object literal be more readable?

window['__gwtsample_mobilewebapp__'] = {
  loginUrl: '<%= appUrls.getLoginUrl() %>',
  logoutUrl: '<%= appUrls.getLogoutUrl() %>'
};

(I'd also use "var __gwtsample_mobilewebapp__ =" instead of
"window['__gwtsample_mobilewebapp__'] =" but that's more a matter of
personal taste)

Oh, and BTW, the page is protected (in web.xml), so there's no need for
the loginUrl here.

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml
File samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml (right):

http://gwt-code-reviews.appspot.com/1829803/diff/1/samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml#newcode10
samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml:10: auth filters in
place for all other RPC calls. Thre's no real need to protect the
compiled
"authentication auth filters"

http://gwt-code-reviews.appspot.com/1829803/diff/9003/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/server/GaeAuthFilter.java
File
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/server/GaeAuthFilter.java
(right):

http://gwt-code-reviews.appspot.com/1829803/diff/9003/samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/server/GaeAuthFilter.java#newcode93
samples/mobilewebapp/src/main/java/com/google/gwt/sample/gaerequest/server/GaeAuthFilter.java:93:
homePageUrl.append(scheme);
No need for all this; UserService accepts paths, so

   "/" + homePageFileName + (queryString == null ? "" : "?" +
queryString)

would be enough (even though I'd rather keep only the "gwt.codesvr"
param from the queryString)

http://gwt-code-reviews.appspot.com/1829803/diff/9003/samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml
File samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml (right):

http://gwt-code-reviews.appspot.com/1829803/diff/9003/samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml#newcode58
samples/mobilewebapp/src/main/webapp/WEB-INF/web.xml:58:
<welcome-file>MobileWebApp.html</welcome-file>
Should be .jsp here

http://gwt-code-reviews.appspot.com/1829803/

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

Reply via email to