I would also be interested in any updates to this as I am currently working 
on the async aspect or my app. (I wouldn't even know how to 
identify anomalies due to a lack of experience here)

I also remembrer having the same questions with soyc

-at 


On Wednesday, March 20, 2013 7:53:11 AM UTC-4, Ed wrote:
>
> After upgrading from 2.5.0 to 2.5.1 all of a sudden my code splitting 
> result is different:
> + Code fragments are bundles together which weren't before.
> + I have a left over fragment, which was 0 (see attachment).
>
> What changed concerning code splitting? Can't find any in the release 
> notes.
>
> A few observations:
> 1) All my components have a singleton facade that contains a method to 
> create the package protected  controller implementation that is called 
> through split point (GWT.runAsync()).
> In this way I have a LoginControllerDefault that is present in the left 
> over, but this package protected controller ONLY appears in the LoginFacade.
> In the same way I have SubscribeControllerControllerDefault that appears 
> only in SubscribeControllerFacade...
> What suprised me is that they appear both in the same code split, namely 
> #30 (see screenshot attachment).
>
> No idea why.
> I moved the creation of  LoginControllerDefault  from the Facade 
> "directly" (see below for code snippets) in to the runAsync, but that had 
> no effect.
> I also removed the LoginControllerDefault completely which had little 
> effect on the left-over
>
> When I read the soyc report (automatically build during maven nightly 
> build), It doesn't really help me. This page is hard to understand, like 
> this page:
>                soycReport/compile-report/leftoverStatus-0.html
>
> Even worse,  from this page you can go deeper  to see why a class is in a 
> certain split point but that results in a page not found (404).
> That is, the following page isn't present. BTW: the page also resulted in 
> a 404 in previous GWT releases.
>                  soycReport/compile-report/methodDependencies-total-0.html
> Why?
>
> I played with the nr of "fragmentCount", but that has little effect, see 
> the attached screenshots:
> + fragmentCount = 6: screenshot with 4 splits points.
> + fragmentCount = 8: screenshot with 6 splits points.
> + fragmentCount = 10: screenshot with 7 splits points.
>
> Below a code snippet that shows how I create the controllers in split 
> point #30 (see screenshot). It concerns the creation of the 
> LoginControllerDefault and SubscribeInfoControllerDefault.
> Note: I don't find it the most elegant code solution, but before I passed 
> in a Creator interface that was used in GWT.runAsync(), but that didn't 
> work (big left over). I posted that in the forum and it was mentioned that 
> it could be that it is because the code removal is run after the split 
> point code, and that is probably why it doesn't work and that Ray still 
> have a look in to code split code that need to be optimized.
>
> How to solve/analyze these issues?
> What are your experiences?
> Any suggestions are more then welcome as I am out of ideas and find it 
> hard to solve this, but it frustrates me ;)
>
>
> Loading and creating the the Login and SubscribeInfo controller:
> -----
> The code snippet that is called by the LoginControllerBuilder to load the 
> Login controller:
> public void create(final AsyncCallback<LoginController> callback) {
> getLazyLoader().createInCodeSplitGeneral30(LoginController.class, 
> callback);
> }
>
>
> The controller loading code (in other class):
> public <T> void createInCodeSplitGeneral30(final Class<T> type, final 
> AsyncCallback<T> callback, final SimpleMediator mediator) {
> GWT.runAsync(new RunAsyncCallback() {
> public void onSuccess() {
> callback.onSuccess(createCodeSplitGeneral30(type, mediator));
> }
>
> public void onFailure(final Throwable reason) {
> callback.onFailure(reason);
> }
> });
> }
>
> @SuppressWarnings("unchecked")
> private <T> T createCodeSplitGeneral30(final Class<T> type, final 
> SimpleMediator mediator) {
> if (isType(type, LoginController.class)) {
> return (T) LoginFacade.getInstance().createController();
> }
> else if (isType(type, SubscribeController.class)) {
> return (T) SubscribeFacade.getInstance().createController();
> }
> else {
> throw GenExpClass.createExceptionVarMsg(getClass(), ERR_ID + "Gn30", type);
> }
> }
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to