thx juan, sorry for the noise. i found out 1 hour ago that the problem is with 99% percent probabilty related to restygwt. i'm happy i found this, now we'll see if i can fix it ;)
keep you updated. cheers, andi On 14 Jun., 20:21, Juan Pablo Gardella <gardellajuanpa...@gmail.com> wrote: > Are you use third gwt libraries ? for example gin, etc.? What version of gwt > are you use? > > 2011/6/14 pansen <andi.ba...@googlemail.com> > > > > > > > > > hey guys, > > > i think we have a massive problem with the generated js sources for > > production. we built a larger app and since now all worked like a > > charm, we had not a single stopper. > > > at the moment there is a strange issue. when i use the static app it > > seems like there is a confusion about the generic-type or the content > > of it. let me first show you the gwttest i wrote to let you see what > > happens:: > > > package net.vz.common.widgets.client.profile.lastvisitors; > > > import java.util.List; > > import java.util.logging.Logger; > > > import net.vz.common.services.client.registry.Registry; > > import net.vz.common.services.client.restdto.GenericListDto; > > import net.vz.common.services.client.restdto.MinUserDto; > > import net.vz.common.services.client.restservice.UserService; > > import > > net.vz.common.services.client.resty.vzcore.SimpleMethodCallback; > > import net.vz.common.widgets.client.bundles.UnifiedResources; > > import net.vz.common.widgets.client.i18n.LocalMessages; > > import net.vz.common.widgets.client.listitem.GenericImageSlider; > > import net.vz.common.widgets.client.listitem.GenericList; > > import net.vz.common.widgets.client.listitem.renderer.MinUserRenderer; > > import > > net.vz.common.widgets.client.simpleItem.inject.SimpleItemModule; > > import net.vz.common.widgets.client.toolbox.custompanels.ListPanel; > > import net.vz.common.widgets.client.toolbox.slideBar.SlideBarActivity; > > import net.vz.common.widgets.client.toolbox.slideBar.SlideBarView; > > import net.vz.common.widgets.client.toolbox.slideBar.SlideBarViewImpl; > > > import org.fusesource.restygwt.client.Method; > > > import com.google.gwt.core.client.GWT; > > import com.google.gwt.event.shared.SimpleEventBus; > > import com.google.gwt.junit.client.GWTTestCase; > > import com.google.gwt.user.client.ui.AcceptsOneWidget; > > import com.google.gwt.user.client.ui.SimplePanel; > > > /** > > * try to reconstruct a production bug which seems to be caused by > > wrong typing > > * from gwt??! > > * > > * @author abalke > > */ > > public class ProfileLastVisitorsActivityTestGwt extends GWTTestCase { > > > private static final String userKey = "U:test_user"; > > > @Override > > public String getModuleName() { > > return SimpleItemModule.MODULE_NAME; > > } > > > public void testDo() { > > LocalMessages localMessages = GWT.create(LocalMessages.class); > > UnifiedResources unifiedResources = new UnifiedResources(); > > > ListPanel ul = GWT.create(ListPanel.class); > > SlideBarView sidebarView = GWT.create(SlideBarViewImpl.class); > > SlideBarActivity slideBarActivity = new > > SlideBarActivity(sidebarView); > > GenericList<MinUserDto> genericLinkList = new > > GenericList<MinUserDto>(unifiedResources); > > GenericImageSlider<MinUserDto> slider = new > > GenericImageSlider<MinUserDto>( > > ul, slideBarActivity, genericLinkList, > > unifiedResources); > > > ProfileLastVisitorsViewImpl__ view = > > new ProfileLastVisitorsViewImpl__(localMessages); > > UserService userService = GWT.create(UserService.class); > > MinUserRenderer renderer = new MinUserRenderer(); > > > AcceptsOneWidget panel = new SimplePanel(); > > SimpleEventBus eventBus = new SimpleEventBus(); > > ProfileLastVisitorsActivity a = new > > ProfileLastVisitorsActivity( > > view, userService, slider, renderer) { > > protected void loadLastVisitors(String userId) { > > userService.getLastVisitors(userId, new > > SimpleMethodCallback<GenericListDto<MinUserDto>>() { > > @Override > > public void onSuccess(Method method, > > GenericListDto<MinUserDto> response) { > > List<MinUserDto> items = response.getItems(); > > if (Registry.canLog()) { > > > Logger.getLogger(ProfileLastVisitorsActivity.class.getName()) > > .info("got a list of " + > > MinUserDto.class + ": " ); > > > Logger.getLogger(ProfileLastVisitorsActivity.class.getName()) > > .info("... " + items.get(0)); > > } > > slider.render(items); > > > view.setLastVisitorsOverallCount(response.getCount()); > > view.show(true); > > > // in production, here is a wrong type > > assertEquals(MinUserDto.class, > > items.get(0).getClass()); > > assertEquals(true, > > ((ProfileLastVisitorsViewImpl__)view).getShowState()); > > finishTest(); > > } > > }); > > } > > }; > > > a.start(panel, eventBus); > > > // the widget wants only to be loaded when this is my user > > Registry.MY_USER_ID = userKey; > > > assertEquals(false, view.getShowState()); > > a.update(userKey); > > > delayTestFinish(5 * 1000); > > } > > > class ProfileLastVisitorsViewImpl__ extends > > ProfileLastVisitorsViewImpl { > > > private boolean isShown = false; > > > public ProfileLastVisitorsViewImpl__(LocalMessages > > localMessages) { > > super(localMessages); > > } > > > @Override > > public void show(boolean b) { > > isShown = b; > > super.show(b); > > } > > > public boolean getShowState() { > > return isShown; > > } > > } > > } > > > in production mode (static compile) i see in the logs that there is a > > list of type ``A`` containing the first element of type ``B`` on this > > place, which is overridden in the test above:: > > > protected void loadLastVisitors(String userId) { > > userService.getLastVisitors(userId, new > > SimpleMethodCallback<GenericListDto<MinUserDto>>() { > > @Override > > public void onSuccess(Method method, > > GenericListDto<MinUserDto> response) { > > List<MinUserDto> items = response.getItems(); > > if (Registry.canLog()) { > > > Logger.getLogger(ProfileLastVisitorsActivity.class.getName()) > > .info("should have a list of " + > > MinUserDto.class + ", first element is a: " +items.get(0)); > > } > > slider.render(items); > > view.setLastVisitorsOverallCount(response.getCount()); > > view.show(true); > > } > > }); > > } > > > in result of that i get a classcastexception - but only in compiled > > production code. neither the integration-test, nor the hosted mode > > with exactly the same backend-responses fails. > > > my question is now: have you ever seen an issue with type-confusion in > > a bigger context? what should i do to come to a result with this > > issue. if you tell me where to look in the compiled code i can try to > > reduce the setup. > > > as a last option i only see to reduce my project to a minimum size > > where the error still occurs to send it to you and file a bug. > > > any hints are greatly appreciated. > > > andi > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google Web Toolkit" group. > > To post to this group, send email to google-web-toolkit@googlegroups.com. > > To unsubscribe from this group, send email to > > google-web-toolkit+unsubscr...@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.