.what
am i doing wrong here?
Help appreciated!
TIA,
Jens
--~--~-~--~~~---~--~~
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
WAR structure, I get a 404 for the
linked resources in Jetty.
Does anybody know a workaround for this besides duplicating the actual
files?
Thanks
Jens
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups
Google Web
An eclipse linked folder
On Jul 8, 12:49 pm, Miguel Méndez mmen...@google.com wrote:
Just to be clear, are you using an eclipse linked folder or an OS symbolic
link?
On Wed, Jul 8, 2009 at 8:56 AM, Jens jensrohl...@gmail.com wrote:
I'm in the process of upgrading our project structure
. The only case where they would work is if the WAR folder is itself
a symbolic link, issue
3692http://code.google.com/p/google-web-toolkit/issues/detail?id=3692aside.
If your OS supports it, you could try a symbolic link.
On Wed, Jul 8, 2009 at 12:50 PM, Jens jensrohl...@gmail.com wrote
You receive these errors because you have defined one or more methods in
your DataBaseConn service to throw a ClassNotFoundException and a
SQLException. Because these service interfaces are in the client package,
GWT tries to compile them into javascript. But the GWT compiler only
supports
In development mode with embedded jetty your app will be hot deployed to
jetty's root and I guess during deployment on another j2ee/servlet server
you use a context-root with the name of your GWT module and this will result
in http://hostname:port/module name as context root/module/service.rpc
I think KeyPressed events will be fired before the actual content of your
textarea is updated by the browser. So in your validate method
textarea.getText() will give you the old value without the newly typed
character. This newly typed character can be obtained by the
Thanks for your bug report. I have recently checked our RF code and run into
this issue. Hopefully this issue gets a higher priority (we need more
stars!) soon as it makes RF nearly useless and I guess many people doesn't
recognize that RF currently does no version check and just overwrite
Easiest way would be to define a doEdit(String data) method in your
presenter interface (or in an extra delegate interface) and pass the
presenter/the delegate interface to your view (via setData or an extra
method)
setData would then do something like:
final String data = data.get(i);
Button
Hi,
I currently have some problems with entity version checks / optimistic
locking using JPA on server side and I wonder how RequestFactory would
handle my problem.
Currently the application I am working on has an auto save mechanism. That
means each time the user changed some data the
On Friday, March 11, 2011 3:50:35 PM UTC+1, Thomas Broyer wrote:
Maybe you should delay autosave requests to until the previous one has
returned?
Well.. maybe. Just keep in mind that we do not have a dedicated save button
(thats why we do auto save that often) so we are forced to execute
You do not have to use MVP in order to use EventBus. If you do not use
dependency injection with google-gin just create a factory class with a
static getter that returns an EventBus singleton, something like
AppEventBus.get()..
If you do not want to use an EventBus you could use
On Saturday, March 12, 2011 9:58:11 AM UTC+1, Thomas Broyer wrote:
The question is what would you do of other changes made by the user in the
mean time?
Because the proxies are locked, you cannot flush() the driver. And because
you cannot edit() a given proxy twice at the same time, you
I know it is a GWT group but as GWT uses embedded Jetty I hope someone with
a deeper Jetty knowledge is reading my questions and willing to answer :)
We currently use Glassfish 3.1 with the following features:
- EJB 3.1 Lite (only local no-interface beans, mainly for using @EJB)
- @ManagedBean
I am not really familiar with the spring layer and its IUserService
interface but as you send the user id in the http header, couldn't you just
put that user id into the user's session and each server method who needs
the user id can then retrieve it from the session?
--
You received this
I think you will get the deepest child (actually the real DOM target of the
click event) via
public void onClick(final ClickEvent event) {
Element e = DOM.eventGetTarget(Event.as(event.getNativeEvent()));
System.out.println(e);
}
--
You received this message because you are subscribed
Oh is getEventTarget() new? Never recognized this method.
So please use Thomas approach as it only depends on the event itself (and I
will change my code now ;-) )
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To post to this group,
TLS is the further development of SSL.
To tell JavaMail to issue a STARTTLS command you could set
mail.smtp.starttls.enable to true (see:
http://javamail.kenai.com/javadocs/com/sun/mail/smtp/package-summary.html)
or use an instance of SMTPTransport and call smtpTransport.setStartTLS(true)
Well a RPC request will be done via HTTP/TCP so the only way to lost the
answer is when the server does not respond within TCP's timeout. If the
timeout is reached I think GWT will call the RPC request's onFailure method.
So as long as your servlet responds somehow, RCP requests should be fine.
Yeah right. LayoutPanel and all other LayoutPanels should be in a
LayoutPanel hierarchy starting with RootLayoutPanel. If you ever put a
LayoutPanel in a normal panel I think you have to set width and height to
100%.
--
You received this message because you are subscribed to the Google
I did it today and so far it works. Just make sure FF4 installs the latest
GWT Plugin.
--
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
You have to use deferred bindings to switch between two Ginjectors.
See
https://github.com/ashtonthomas/gwt-seminar/tree/master/src/com/gwt/seminar
to get an idea.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To post to this group,
Maybe searchResultPanel.getElement().scrollIntoView() might help.
If not you can still play around with ScrollPanel.setScrollPosition(int
position).
I think position should be the value of yourFormPanel.getOffsetHeight()
--
You received this message because you are subscribed to the Google
Use ValueListBoxT instead of ListBox.
ValueListBox has methods setValue(T value) and T getValue() and it can be
used as editor. So you probably won't need your custom ListBox anymore.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To
Sub classes of HTMLTable provide their own Cell/Column/RowFormatters (either
the default one or a sub class of the default one). So if you use Grid or
FlexTable you only have to call getCell/Column/RowFormatter to style your
columns/rows/cells. Why do you want to set a Formatter from outside
Hehe HTMLTable does not define an initWidget method. You accidentally called
the initWidget of ContainerWidget in your constructor of FrontContentPanel.
Thus during initialization ContainerWidget.initWidget is called twice which
will cause the exception you received. initWidget is only defined
Doc seems fine to me.
As the doc says there are two use cases of renaming a module.
The first one is pretty obvious: If you have a module called App.gwt.xml
that resides in com.companyname.app the GWT compiler will compile this
module to
Put your TabLayoutPanel in a RootLayoutPanel instead of a RootPanel. Then it
should work and you do not need to set any width/height.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To post to this group, send email to
You can use StackLayoutPanel.showWidget(...) methods or do you mean
something different and I don't get it?
--
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
Seems like this feature is not released
yet: http://code.google.com/p/google-web-toolkit/issues/detail?id=5525
--
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
Well I also use the Mvp pattern (custom one) and in the beginning I always
define methods HasXYZHandlers getXYZHandlerProvider() (e.g. HasClickHandler
getSaveClickHandlerProvider() ) and use these in the presenter. So I would
have chosen your second or even third approach.
But today I think it
A bit confusing but the deprecated method uses
com.google.gwt.user.client.Element whereas the one you want to use requires
com.google.gwt.dom.client.Element. So just make sure you use the correct
Element type.
J.
--
You received this message because you are subscribed to the Google Groups
On Thursday, April 7, 2011 5:39:35 PM UTC+2, David Chandler (Google) wrote:
Ray Ryan's famous I/O talk in 09 also mentioned place/history management and
the Command pattern, which are very useful ideas but not part of MVP proper.
Various 3rd party MVP frameworks offered all these capabilities
Eclipse code templates can help if you configure custom templates. You find
them under Preferences - Java - Editor - Templates
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To post to this group, send email to
To decouple actual widget implementations so we can provide fake widgets to
methods during testing. Its primary use case is not to be a marker interface
for widgets.
JavaDoc of IsWidget:
*Extended by view interfaces that are likely to be implemented by Widgets.
Provides access to that widget,
Change it to GWT Hyperlinks and I think it should work in IE.
I had a similar problem using GWT Anchors,
see: http://code.google.com/p/google-web-toolkit/issues/detail?id=5280 . In
my case I used GWT Anchors with ClickHandlers which result in a
href=javascript:;link/a code and IE unloads the
Hm ok..if you can not change your code to use GWT widgets (only widgets are
mostly cross browser compatible) then you probably can create a custom
widget that takes the generated html from the server to display it but also
listens for DOM click events (using sinkEvents and onBrowserEvent). And
You wont have a second event bus. ResettableEventBus just wraps an existing
one and keeps track of all handlers you have added to it so you can easily
remove them. So each presenter would have its own ResettableEventBus
instance but each instance wraps the same singleton EventBus of your app.
Hi,
I have a strange problem and maybe someone here can give me a hint whats
going on. Basically I have a custom composite that acts as a list. This list
composite wraps a ScrollPanel which contains a AbsolutePanel that contains
the list items positioned according to their height. The
Take a look
at:
http://code.google.com/intl/de-DE/webtoolkit/doc/latest/tutorial/RPC.html#exceptions
J.
--
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
After some research I figured out that GWT's PopupPanel is probably
responsible for that behavior. I have some wizard views which contain the
custom list mentioned before and these wizards use a PopupPanel which is set
to modal. I think there might be a bug in the way PopupPanels cancel events
Maybe you want to create a custom composite that wraps a ScrollPanel. Then
add a FlowPanel or something to the ScrollPanel and add DisclosurePanels to
that FlowPanel and arrange them vertically and style them with css.
That way you would have something like the side menu
in
As of GWT 2.0 you should use
ClientBundle:
http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideClientBundle.html
If you really have to use ImageBundle from GWT 1.6/1.7 you only have to use
the @gwt.resource tag if the filename does not match the method name or if
the image is in a
Maybe you can try using event.getNativeEvent().getKeyCode() instead of
getCharCode().
--
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,
I am also using the MVP approach described in Large scale application
development and MVP - Part II.
It is really nice to have a delegate interface that is known to the view and
is used to delegate UI events to methods. The view can then use UiBinder's
@UiHandler and can also do simple logic
Am Mittwoch, 27. April 2011 13:32:47 UTC+2 schrieb ernesto.reig:
But Thomas, there´s something I don´t understand, when you say Activities
however are in no way related to MVP. Activities are the Presenters in the
MVP pattern, I mean, they own the views and there happens the logic
Good question. I haven't done a web app yet that uses activities/places, so
I have only read a lot about it.
But if you have a token like #ListPersonDetailsPlace:1 to list details of a
person with database id 1, an activity could load that person from the
database and set it to the presenter
Hehe well your only chance would be to use CellTable (but that needs at
least GWT 2.1), build some pagination into your app so that you do not
display all data at once or you generate the whole table as a pure html
string and call setInnerHtml (its basically what CellTable does). The last
one
Have you tried popup.setWidget(this)?
I have a WizardViewImpl.ui.xml and in its corresponding java file I do:
private final PopupPanel wizardPopup;
... and in constructor after initWidget ...
this.wizardPopup = new PopupPanel(false, false);
this.wizardPopup.setGlassEnabled(true);
As you are a bit confused how things play together I think it would be the
best to go without a MVP Framework for now. Create a small example app using
places and activities along with some Ui components that are implemented
using the MVP part 2 approach. You can also integrate Gin (and maybe
I never had a problem with GIN and @UiHandler. You can add a -gen custom
path to your run configuration to see what code GWT generates. Seems to be
very unlikely that @UiHandler does not work but everything else does.
--
You received this message because you are subscribed to the Google Groups
Isaac already said it. ListBox uses the browsers native style. So it looks
different on Windows, Mac and Linux and sometimes even between browsers for
the same operating system. Because its native style you can not reuse it.
You can only create screenshots for all of these combinations and
You can not convert a ListBox to the widget you need. ListBox does nothing
really special but you will see it if you look into its source code. You can
not change its behavior as its defined by the browser itself and not by GWT.
You have to create a custom widget with your own styling and thats
Have you annotated your rpc service interface with
@RemoteServiceRelativePath(relative
url to servlet) ?
--
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
Hm I never had any problems with GWT's buttons / textarea. But I have
dropped support for IE 6 and 7 for my web apps. If you make sure to work in
standards mode in IE that will save you a lot of design headache. Quirk mode
and compatibility view are bad.
Maybe your custom Css destroys some IE
In my current project I have a button that is a custom widget because I
want rounded borders and buttons that can collapse. With some @if
user.agent = xyz css code it works pretty well in all major browsers.
How did you do that? Can you give me a small example? It would be
great.
Hi,
Is it somehow possible to disable URL changes when switching between places
so that the browsers back/forward buttons keep disabled?
I asks this because I have an app that does not use Places/Activities yet
but I now have a use case where an anchor/link has to change its url
according to
Hehe thanks. Works so far. Guess it was a bit to obvious so I missed that :)
--
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
Am Freitag, 13. Mai 2011 15:28:28 UTC+2 schrieb Thomas Broyer:
...and because an empty @Prefix is simply ignored when generating the
token, you could have /#contactus that way.
But you can only have on PlaceTokenizer with an empty @Prefix. Just keep it
in mind if you now think you could do
I also have a Places / Token question and as this thread topic is a more
general I post it here.
First of all I do not like the default PrefixAndToken implementation and I
would like to have place history tokens like the ones here in the new google
groups app
You have to store some login information as cookie once the user has logged
in and your onModuleLoad / underlying controller has to check if that cookie
is present and if it is then check if these login information are still
valid (server request). If they are still valid you can show your
Maybe I don't get it right but in an entrypoint class:
@Override
public void onModuleLoad() {
System.out.println(onModuleLoad(): started);
Label label = new Label() {
@Override
public void setText(final String text) {
System.out.println(Label.setText(): + text);
super.setText(text);
}
Maybe its possible (you have to write custom UiBinder generators) but at
some point you will need a mapping between your template field name
additionalData and the java field name ownerAge.
How would you define that mapping? For me it doesn't feel right to possibly
have a third file with that
Hmm I have added your code in a simple EntryPoint class and it works in my
Chrome version (Mac OS, Beta/Dev Channel, Version 13.0.767.1). As the code
snippet is really short I have no idea what can be wrong in your setup. Does
the generated html code looks correct?
--
You received this
No I assumed you call your model.setRecords() method inside the model()
method (because thats the only place where you can call it). So in my
example the call label.setText() would by the model.setRecords() call in
your example.
It has to be executed in order. Just imagine your anonymous
Here you go: http://code.google.com/p/google-web-toolkit/issues/list
If you try the annotation approach just keep in mind to disable the @UiField
check the Google Plugin does (It marks your java file with an error if a
given @UiField variable is not found in the corresponding *.ui.xml file). I
GWT has an internal version to make sure client and server can speak with
each other correctly. Currently your client side code talks version 7 but
your server code only understands version 5 and 6. I would say you have
upgraded to a newer version of GWT (e.g. 2.3.0) but your IDE does not have
Instead of a TabPanel you would just create HyperLinks with a custom style
that looks like a tab and then define a display area where the original
TabPanel contents would go to. If your TabPanel contents also contains
different areas you would just define these as display areas. So instead of
Well I think its not a design flaw in SimpleEventBus because as the name
says its just a simple implementation.
When you add a handler to the eventbus it has to be stored in a
MapEventType, ListHandler. Once an event is fired you will iterate over
this list and that means you can not add or
Am Montag, 30. Mai 2011 08:08:19 UTC+2 schrieb tanteanni:
the hint with n activity mappers to get n places to start will help in
future.
Thats not what I said. You will have 1 Place that can start up to n
activities if you have n activity mappers.
You will have multiple activity mappers
In a properties example you would only have one PropertiesPlace and use the
token to encode where you are. E.g. /#PropertiesPlace:account,
/#PropertiesPlace:security etc. Depending on the token a different tab will
be shown. There is no need for different places as you are always see the
Thanks Thomas that helps quite a bit. I have chosen the catch all tokenizer
approach with some additional code to make parsing more reusable and it was
easy to implement.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To view this
Hi,
during place integration I was thinking about activities and
authentication/authorization. Authentication seems pretty easy as its done
outside the whole places/activities framework but what about authorization?
Lets say someone has bookmarked an URL like /#/editcustomer/123 because this
Hi,
Its nice but as you said its a slightly different context. Of course I can
integrate some place information into my RPC mechanism but that does not
solve the problem that if n activities get started in parallel each one will
do a server request and each one will get a not authorized error.
Q1) I presume inside my dispatch() function I am probably supposed to call
appropriate functions that I create in my OnChangePlanHander class?
Yes. In the most simple case your handler will only have one method and the
dispatch(Handler handler) method will only contain something like:
Sounds like you want a custom TextBox (that can act as an editor) that can
show an additional descriptive message if it does not has any text.
Basically a transparent TextBox and a Label behind it. The label will be
shown if no text is in the TextBox and the TextBox has no focus. Once it is
You only have a problem if you use GWT.runAsync in your method. If so,
everything that is inside the RunAsyncCallback.onSuccess method will be
downloaded as a separate javascript file once your app reaches this point.
The download will happen in parallel/async in production mode. In dev mode
If you really need to wait then you have to put that code that needs to wait
inside the onSuccess method (directly, via a method call or by sending an
event).
Why do you have to wait?
In most cases I have something like:
1.) disable controls
2.) make request
3.) re-enable controls once the
I think you just have to get used to async programming. Its all about events
and callbacks in GWT. Any kind of client server communication in GWT is
async so there are no real alternatives that allows you to block execution.
A web application lives from asynchronous communication.
As said
Seems like an event handling problem. Maybe this problem is by design as you
fire a PlaceChangeEvent while the first one is still dispatched by the
eventbus or its just a bug. So maybe you can create an issue for it...just
to be sure.
In the meantime in you Activity's start method something
On client side I am working with a singleton that can be injected via gin
everywhere I need these kind of login information. Works fine so far.
-- J.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To view this discussion on the web visit
cannot post the code as is, but i can
clean it up and post it if required.
Best regards Jens
--
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
Hi,
I just integrating activities and got stuck when it comes to list
selections. Hopefully someone with more practically experience can help me.
The application has one activity mapper that holds providers (GIN) of
activity proxies (code splitting) and creates new, clean activity instances
In that case I do not wanna cache things on client side. The app should be
smart enough that it doesn't try to reload the list each time a list item is
selected.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To view this discussion on
Thanks I will try that. Haven't thought of a FilteredActivityMapper. I
already tried a CachingActivityMapper on its own and because of the equality
stuff it doesn't work.
I have just went through some examples but the layoutmvp example posted in
this group also has an activity that starts over
Hm I have tried it now and at least the activity does not get restarted. But
now if I bookmark my selected employee and access it later it can not be
reselected because the activity filter always sets the employee id to null.
The filter can not distinguish if the app is running and the user
Yeah its a migration to activities and for simplicity I have only defined a
single display area. Thats somehow the work area of the app.
The reason is that I have a custom widget (layout panel) that can do quite a
lot of things. So for each place I have that custom widget that effectively
Hosted mode is really slow when it comes to serialization/deserialization
with GWT RPC. In my experience the Firefox GWT plugin does the best job and
handle it a way faster than in other browsers. I think even in compiled mode
you would recognize some delay at least in IE. Maybe its faster to
See Pauls answer. In addition if you do not want to hide the combo box, just
set a message to it and disable it. Then load you combo box data and when
its done clear the combo box, fill in the data and re-enable it.
-- J.
--
You received this message because you are subscribed to the Google
Ok a Custom CachingActivityMapper was easy to implement and works but
there is still a case I am not happy with. If a user bookmarks
EmployeePlace(1,123) and 123 gets deleted the activity would redirect to
EmployeePlace(1, null) to keep the URL in sync (activity can not preselect
the deleted
Take a look
at: https://groups.google.com/d/topic/google-web-toolkit/OsDpLtBoTQo/discussion
I had nearly the same problem. Short version: If you have non singleton
activities they will be restarted for every PlaceChangeEvent. If you want to
avoid this you need to cache your Activity. But once
Make sure you have the gwt-servlet.jar from GWT SDK 2.3.0 in your
WEB-INF/lib folder. Sometimes Eclipse does not update that jar file if you
upgrade to GWT 2.3.0. Just copy it from the GWT Plugin folder to you
WEB-INF/lib folder.
-- J.
--
You received this message because you are subscribed
Am Montag, 20. Juni 2011 14:50:00 UTC+2 schrieb Elhanan:
actually i think there should be no code activity mapper as the place
itself should contain the logic on what activity it should be refferred, for
each new place activity combo i have to go though lots of boiler plate code
which is
Hi
Thanks for the tip, but my problem is not loading the nodes, its only
selection the root node that causes me problems (or did i miss
something in the mentioned thread?).
Best regards Jens
On Jun 19, 3:40 pm, mkkm...@gmail.com mkkm...@gmail.com wrote:
Hi,
Try
here:https
Is the web service you want to call accessible on the same
protocol://domain:port as your GWT app? Normally RequestBuilder should work
fine for requesting rest web services but maybe you have been run into the Same
Origin Policy http://en.wikipedia.org/wiki/Same_origin_policy? If thats
the
You can use the -gen /path/to/folder switch to tell GWT to put all
generated classes into that specified folder.
-- J.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To view this discussion on the web visit
Does the webservice evaluate your JSONCALLBACKPARAM request parameter
correctly and sends back the correct jsoncallbackparam value(your json
data) string?
-- J.
--
You received this message because you are subscribed to the Google Groups
Google Web Toolkit group.
To view this discussion on
Basically JSONP uses the HTML script tag to load data from a different
domain (to avoid the same origin policy. It does not apply for script
tags).
That means that if you do a request to
http://localhost:8081/LMS-WB/services/authenticate/saranraju/welcome1/;
via JsonpRequestBuilder GWT will
Its pretty easy. If you have looked at the source code of
CachingActivityMapper you see that it only calls place.equals(lastPlace) to
check if it has to return the previous activity or has to create a new one.
After construction of CachingActivityMapper both lastPlace and lastActivity
are null
Oh yeah small typo in my MainActivityMapper example. It has to be:
if(place instanceof XYZPlace) {
this.lastActivity = new XYZActivity(place);
return this.lastActivity;
} else if() {.} .
So its just implemented as a field that stores the activity. Nothing fancy
;-)
-- J.
1 - 100 of 2941 matches
Mail list logo