Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-04-06 Thread aish sundar
Hi Keith,

Thanks for the reply again. I checked runtime WAR/WEB-INF/lib and it
did have  FooShared.jar within it.  I also unzipped the jar and was
able to find GreetingService.class within it. Now I am not quiet sure
whats that I am missing at this point.

May be I could try running your project locally, but I am still
wondering what could be the problem given that everything seems to be
in place.

-aish

On Apr 5, 12:56 pm, Keith Platfoot kplatf...@google.com wrote:
 Hi aish,

 1. Ah, it looks like I was mistaken: it is correct that you are not seeing
 the com/foo/server folder in your runtime WAR directory's WEB-INF/classes
 directory.  Eclipse does not actually push class files from dependent
 projects into WEB-INF/classes, but rather, creates a jar and pushes that to
 WEB-INF/lib.  So, check runtime WAR/WEB-INF/lib for FooShared.jar, which
 should contain the compiled classes from FooShared.  If the jar is missing,
 or does not have the expected class files, then something is probably wrong
 with the configuration of your FooShared project.

 2. Your WEB-INF folder inside FooServer is correct.  The WAR folder inside
 your project (WebContent by default) should only contain input files and
 resources: HTML, JSP, CSS, etc.).  Eclipse will take care of populating the
 WEB-INF/lib and WEB-INF/classes of your runtime WAR directory (or exported
 WAR file) automatically, based on your Java EE module dependencies.  No need
 to create an ant task to do so manually.

 I can zip up my Foo* projects and upload them here, if it would help get you
 going.

 Keith

 On Mon, Apr 5, 2010 at 12:34 PM, aish sundar sunda...@gmail.com wrote:
  Hey Keith,

  I am seeing a couple of things off here.

  1. after I start Tomcat, I do not see client folder under the war
  directory WAR/WEB-INF/classes/com/foo/. I just see the server
  folder there. Do you know how to get the client there? I have added
  FooShared as a Java EE module dependency of FooServer. The -war
  argument in the GWT launch config is set to eclipse
  workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/
  wtpwebapps/FooServer.

  2. Another thing I noticed is that the WEB-INF folder within FooServer
  does not have any 'classes' folder within it. All it has is
    (i) lib folder
    (ii) web.xml

   As I said, I have added FooShared as a Java EE module dependency of
  FooServer. Should we create a build.xml for FooServer (or some other
  procedure) to copy all the client and shared classes manually into
  WebContent/WEB-INF of FooServer?

  Thanks,
  Aishwarya

  On Apr 2, 2:39 pm, Keith Platfoot kplatf...@google.com wrote:
   Hi aish,

   After you start Tomcat, see if the runtime WAR directory (the one
  specified
   with -war argument in your GWT launch configuration) has the
   GreetingService.class file under WAR/WEB-INF/classes/com/foo/client.
   If
   it's not there, that would explain the ClassNotFoundException.  Then the
   only question is how to get it there.

   Your configuration as you described it sounds correct.  GreetingService
   should be copied into FooServer's WEB-INF/classes by means of it being
   declared an Java EE module dependency.  FooServer also needs
  gwt-servlet.jar
   as a module dependency, but if you were missing that you would get a
   different error.

   If you can't make any headway getting things to work, I could probably
  zip
   up my sample projects and you could try importing those.  Just let me
  know.

   Keith

   On Wed, Mar 31, 2010 at 2:55 PM, aish sundar sunda...@gmail.com wrote:
Thanks Keith. The steps seemed a lot clearer now and I followed it to
set uo my workspace exactly as yours. Now when I start the Tomcat
server, launch the client in DEV mode and go to
   http://localhost:8080/TestWeb,
everything loads up fine and I get to the client HTML page alright.
However when I click a button, which is tied to an Asynchronous RPC
call, I get the following exception :

SEVERE: Allocate exception for servlet greetServlet
java.lang.ClassNotFoundException: com.foo.client.GreetingService
       at java.net.URLClassLoader$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at java.lang.ClassLoader.loadClassInternal(Unknown Source)
       at java.lang.ClassLoader.defineClass1(Native Method)
       at java.lang.ClassLoader.defineClass(Unknown Source)
       at java.security.SecureClassLoader.defineClass(Unknown Source)
       at java.net.URLClassLoader.defineClass(Unknown Source)
       at java.net.URLClassLoader.access$000(Unknown Source)
       at java.net.URLClassLoader$1.run(Unknown Source)
       at 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-04-05 Thread aish sundar
Hey Keith,

I am seeing a couple of things off here.

1. after I start Tomcat, I do not see client folder under the war
directory WAR/WEB-INF/classes/com/foo/. I just see the server
folder there. Do you know how to get the client there? I have added
FooShared as a Java EE module dependency of FooServer. The -war
argument in the GWT launch config is set to eclipse
workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/
wtpwebapps/FooServer.

2. Another thing I noticed is that the WEB-INF folder within FooServer
does not have any 'classes' folder within it. All it has is
   (i) lib folder
   (ii) web.xml

 As I said, I have added FooShared as a Java EE module dependency of
FooServer. Should we create a build.xml for FooServer (or some other
procedure) to copy all the client and shared classes manually into
WebContent/WEB-INF of FooServer?

Thanks,
Aishwarya

On Apr 2, 2:39 pm, Keith Platfoot kplatf...@google.com wrote:
 Hi aish,

 After you start Tomcat, see if the runtime WAR directory (the one specified
 with -war argument in your GWT launch configuration) has the
 GreetingService.class file under WAR/WEB-INF/classes/com/foo/client.  If
 it's not there, that would explain the ClassNotFoundException.  Then the
 only question is how to get it there.

 Your configuration as you described it sounds correct.  GreetingService
 should be copied into FooServer's WEB-INF/classes by means of it being
 declared an Java EE module dependency.  FooServer also needs gwt-servlet.jar
 as a module dependency, but if you were missing that you would get a
 different error.

 If you can't make any headway getting things to work, I could probably zip
 up my sample projects and you could try importing those.  Just let me know.

 Keith

 On Wed, Mar 31, 2010 at 2:55 PM, aish sundar sunda...@gmail.com wrote:
  Thanks Keith. The steps seemed a lot clearer now and I followed it to
  set uo my workspace exactly as yours. Now when I start the Tomcat
  server, launch the client in DEV mode and go to
 http://localhost:8080/TestWeb,
  everything loads up fine and I get to the client HTML page alright.
  However when I click a button, which is tied to an Asynchronous RPC
  call, I get the following exception :

  SEVERE: Allocate exception for servlet greetServlet
  java.lang.ClassNotFoundException: com.foo.client.GreetingService
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(Unknown Source)
         at java.security.SecureClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.defineClass(Unknown Source)
         at java.net.URLClassLoader.access$000(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at

  org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
  1275)
         at

  org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
  1206)
         at
  org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
  1083)
         at
  org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
  806)
         at

  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
  129)
         at

  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
  175)
         at
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
  128)
         at
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
  102)
         at

  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
  109)
         at
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
  286)
         at
  org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
  844)
         at org.apache.coyote.http11.Http11Protocol
  $Http11ConnectionHandler.process(Http11Protocol.java:583)
         at
  org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
  447)
         at java.lang.Thread.run(Unknown Source)

  The synchronous version of the GreetingService is in com.foo.client
  package within the FooShared project(just as you have mentioned). I
  have also added FooShared as a 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-04-02 Thread Keith Platfoot
Hi aish,

After you start Tomcat, see if the runtime WAR directory (the one specified
with -war argument in your GWT launch configuration) has the
GreetingService.class file under WAR/WEB-INF/classes/com/foo/client.  If
it's not there, that would explain the ClassNotFoundException.  Then the
only question is how to get it there.

Your configuration as you described it sounds correct.  GreetingService
should be copied into FooServer's WEB-INF/classes by means of it being
declared an Java EE module dependency.  FooServer also needs gwt-servlet.jar
as a module dependency, but if you were missing that you would get a
different error.

If you can't make any headway getting things to work, I could probably zip
up my sample projects and you could try importing those.  Just let me know.

Keith

On Wed, Mar 31, 2010 at 2:55 PM, aish sundar sunda...@gmail.com wrote:

 Thanks Keith. The steps seemed a lot clearer now and I followed it to
 set uo my workspace exactly as yours. Now when I start the Tomcat
 server, launch the client in DEV mode and go to
 http://localhost:8080/TestWeb,
 everything loads up fine and I get to the client HTML page alright.
 However when I click a button, which is tied to an Asynchronous RPC
 call, I get the following exception :

 SEVERE: Allocate exception for servlet greetServlet
 java.lang.ClassNotFoundException: com.foo.client.GreetingService
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at

 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
 1275)
at

 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
 1206)
at
 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
 1083)
at
 org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
 806)
at

 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
 129)
at

 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
 175)
at
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
 128)
at
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
 102)
at

 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
 109)
at
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
 286)
at
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
 844)
at org.apache.coyote.http11.Http11Protocol
 $Http11ConnectionHandler.process(Http11Protocol.java:583)
at
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
 447)
at java.lang.Thread.run(Unknown Source)

 The synchronous version of the GreetingService is in com.foo.client
 package within the FooShared project(just as you have mentioned). I
 have also added FooShared as a proj dependancy of FooClient and a
 module dependency of FooServer.

 NOTE: I did not do Step 15 in your instructions i.e., haven't really
 created a WAR file for deployment yet. Its all running locally.

 The error message is not very helpful as well, in terms of when and
 where was the exception thrown. any idea what could have caused it.

 Thanks,
 aish

 On Mar 30, 1:51 pm, Keith Platfoot kplatf...@google.com wrote:
  Hi aish,
 
  1) Yes, FooServer would be your existing Dynamic Web project (TestWeb).
   This project should include anything in the .server package of your GWT
 app
  (e.g. GreetingServerImpl) as well as any existing server-side code.
 
  Your WAR directory (you'll have just one) will be the WebContent
 directory
  of TestWeb.  Dynamic Web projects are configured to use the configuration
  and resource files (web.xml, HTML, CSS, JS, etc.) from this directory to
  build your WAR when debugging locally or creating a .war file for
  deployment.  BTW, the default name is WebContent, but this 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-31 Thread aish sundar
Thanks Keith. The steps seemed a lot clearer now and I followed it to
set uo my workspace exactly as yours. Now when I start the Tomcat
server, launch the client in DEV mode and go to http://localhost:8080/TestWeb,
everything loads up fine and I get to the client HTML page alright.
However when I click a button, which is tied to an Asynchronous RPC
call, I get the following exception :

SEVERE: Allocate exception for servlet greetServlet
java.lang.ClassNotFoundException: com.foo.client.GreetingService
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1275)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1206)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1083)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
806)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
129)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Unknown Source)

The synchronous version of the GreetingService is in com.foo.client
package within the FooShared project(just as you have mentioned). I
have also added FooShared as a proj dependancy of FooClient and a
module dependency of FooServer.

NOTE: I did not do Step 15 in your instructions i.e., haven't really
created a WAR file for deployment yet. Its all running locally.

The error message is not very helpful as well, in terms of when and
where was the exception thrown. any idea what could have caused it.

Thanks,
aish

On Mar 30, 1:51 pm, Keith Platfoot kplatf...@google.com wrote:
 Hi aish,

 1) Yes, FooServer would be your existing Dynamic Web project (TestWeb).
  This project should include anything in the .server package of your GWT app
 (e.g. GreetingServerImpl) as well as any existing server-side code.

 Your WAR directory (you'll have just one) will be the WebContent directory
 of TestWeb.  Dynamic Web projects are configured to use the configuration
 and resource files (web.xml, HTML, CSS, JS, etc.) from this directory to
 build your WAR when debugging locally or creating a .war file for
 deployment.  BTW, the default name is WebContent, but this can be
 customized during the New Dynamic Web project wizard.

 Your GWT code (in TestUI) will need to integrate into TestWeb's WAR
 directory when you run/debug locally and when you build a .war file.  For
 running locally, you just need to tell GWT DevMode to run within the context
 of TestWeb's staging WAR directory (see steps 11 and 12 in my checklist).
  You don't need to copy any files manually, because GWT will pick up all the
 .java and .gwt.xml source files it needs directly from the launch classpath.
  So there really is no explicit link to TestWeb from TestUI.  The only link
 from TestWeb back to TestUI is that your HTML host page in TestWeb's
 WebContent directory will need to reference your GWT module's bootstrap
 script (the TestUI.nocache.js file, which GWT will automatically insert into
 your staging WAR directory when you launch dev mode).

 Creating a .war for deployment, on the other hand, does 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-29 Thread aish sundar
Hi Keith,

Thanks a lot for the detailed steps. We are in the process of
integrating the projects. However we have some doubts in the process.

1) FooServer -(i) I am assuming this can be the pre-existing Dynamic
Web project, which we want to integrate with the GWT project. So from
my example, this will be TestWeb, right?
(ii) You wrote FooServer will contain your server-
side code and WAR directory + static resources (HTML, CSS, etc.),  .
(a) Does server-side code mean
the code within the server package of my GWT project i.e.,
GreetingServiceImpl.java? I am assuming FooServer will also have the
code associated with my pre-existing web project as well.
(b) How and from where do I get
the WAR directory? Is this the WAR folder generated in my GWT
project? Should I just simply copy the WAR folder from the GWT project
over to my FooServer or is there any other way to generate it?


2) Which project should the TestUI.gwt.xml file, the one that
defines the modules and entry point go?

3) It will be great if you can include a SCREENSHOT of your expanded
WORKSPACE so that we can clearly see the layout of the various
projects and which component goes where.

Here's an overview of what we have done following your instructions.
let us know if anything looks wrong.

I initially had 2 projects FooServer (web project) and a TestUI (GWT
project).

(1) FooServer (Dynamic Web project, which contains the server side
code of the GWT proj)
  src
  TestUI.gwt.xml ( don't know if this should go here)
  com.server (newly added GWT server code)
 GreetingServiceImpl

  war (copied from TestUI)
  testui (which has the generated js etc)
  WEB-INF
 classes
 lib
web.xml
  TestUI.css
  TestUI.html

  WebContent
  appPages
  META-INF
  WEB-INF
 lib
  web.xml

  TestUI.html and TestUI.css (static HTML pages and CSS)


(2) FooClient (to contain the client side code of the GWT proj)

   src
  com.client
   TestUI.java
GreetingServiceAsync.java (asynch
RPC interface)


(3) FooShared (to contain the shared and the synch interface)
   src
  com.shared
   Sharedclass1.java
SharedClass2.java
GreetingService.java (synch RPC
interface)

Thanks in advance ,

Aish

 Hey all,

 Ok, now that the Google Plugin for Eclipse 1.3.2 is out, here are some
 instructions for setting up a GWT application split across multiple projects
 (client, server, and shared code in separate projects).  Note that this will
 *only *work in *Eclipse for Java EE* with *GPE 1.3.2*, so verify that you
 have both installed before attempting.  This procedure *won't* work if
 you're using App Engine, since there is no WTP server adapter for App
 Engine.

 Also, I'm assuming that your application uses *GWT 2.0.3* and you're using
 GWT RPC, so your server will provide at least one RPC service.  If you're
 not using RPC, just skip the relevant parts,

    1. Create 3 projects: we'll call them FooServer, FooClient, and FooShared
    for the purposes of this walkthrough.  FooClient will contain your GWT
    client-side code, FooServer will contain your server-side code and WAR
    directory + static resources (HTML, CSS, etc.), and FooShared will contain
    code that is shared between the client and server (e.g. GWT RemoteService
    interfaces).  FooServer should be a Dynamic Web Project; FooClient and
    FooShared can be regular Java projects.
    2. Enable GWT for all 3 projects (project properties  Google  Web
    Toolkit).  *NOTE: If you're not using GWT RPC, you don't need to enable
    GWT on FooServer*).
    3. If your project uses the Apache Tomcat library, ensure that the GWT
    SDK library is above it on your project's classpath (project properties 
    Java Build Path  Order and Export). Otherwise, you may get a
    java.lang.NoSuchMethodError when launching your application in development
    mode.
    4. Add code to FooClient. You'll need at least one GWT module and an
    entrypoint class.  If you're using GWT RPC, you'll also need your service
    async interfaces as well (see the GWT docs for more details).  If don't 
 have
    existing code to work with, just generate a new Web Application project and
    pilfer the files from there (renaming things as necessary, of course).
    5. Add code to FooShared.  If you're using GWT RPC, this is where your
    RPC synchronous interfaces go.  Also, any classes that you use on both the
    client and the server should go here.
    6. Add code to FooServer.  Add your HTML pages, CSS 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-29 Thread aish sundar
Hi Keith,

Thanks a lot for the detailed steps. We are in the process of
integrating the projects. However we have some doubts in the process.

1) FooServer -(i) I am assuming this can be the pre-existing Dynamic
Web project, which we want to integrate with the GWT project. So from
my example, this will be TestWeb, right?
(ii) You wrote FooServer will contain your server-
side code and WAR directory + static resources (HTML, CSS, etc.),  .
(a) Does server-side code mean
the code within the server package of my GWT project i.e.,
GreetingServiceImpl.java? I am assuming FooServer will also have the
code associated with my pre-existing web project as well.
(b) How and from where do I get
the WAR directory? Is this the WAR folder generated in my GWT
project? Should I just simply copy the WAR folder from the GWT project
over to my FooServer or is there any other way to generate it?


2) Which project should the TestUI.gwt.xml file, the one that
defines the modules and entry point go?

3) It will be great if you can include a SCREENSHOT of your expanded
WORKSPACE so that we can clearly see the layout of the various
projects and which component goes where.

Here's an overview of what we have done following your instructions.
let us know if anything looks wrong.

I initially had 2 projects FooServer (web project) and a TestUI (GWT
project).

(1) FooServer (Dynamic Web project, which contains the server side
code of the GWT proj)
  src
  TestUI.gwt.xml ( don't know if this should go here)
  com.server (newly added GWT server code)
 GreetingServiceImpl

  war (copied from TestUI)
  testui (which has the generated js etc)
  WEB-INF
 classes
 lib
web.xml
  TestUI.css
  TestUI.html

  WebContent
  appPages
  META-INF
  WEB-INF
 lib
  web.xml

  TestUI.html and TestUI.css (static HTML pages and CSS)


(2) FooClient (to contain the client side code of the GWT proj)

   src
  com.client
   TestUI.java
GreetingServiceAsync.java (asynch
RPC interface)


(3) FooShared (to contain the shared and the synch interface)
   src
  com.shared
   Sharedclass1.java
SharedClass2.java
GreetingService.java (synch RPC
interface)

Thanks in advance ,

Aish

 Hey all,

 Ok, now that the Google Plugin for Eclipse 1.3.2 is out, here are some
 instructions for setting up a GWT application split across multiple projects
 (client, server, and shared code in separate projects).  Note that this will
 *only *work in *Eclipse for Java EE* with *GPE 1.3.2*, so verify that you
 have both installed before attempting.  This procedure *won't* work if
 you're using App Engine, since there is no WTP server adapter for App
 Engine.

 Also, I'm assuming that your application uses *GWT 2.0.3* and you're using
 GWT RPC, so your server will provide at least one RPC service.  If you're
 not using RPC, just skip the relevant parts,

    1. Create 3 projects: we'll call them FooServer, FooClient, and FooShared
    for the purposes of this walkthrough.  FooClient will contain your GWT
    client-side code, FooServer will contain your server-side code and WAR
    directory + static resources (HTML, CSS, etc.), and FooShared will contain
    code that is shared between the client and server (e.g. GWT RemoteService
    interfaces).  FooServer should be a Dynamic Web Project; FooClient and
    FooShared can be regular Java projects.
    2. Enable GWT for all 3 projects (project properties  Google  Web
    Toolkit).  *NOTE: If you're not using GWT RPC, you don't need to enable
    GWT on FooServer*).
    3. If your project uses the Apache Tomcat library, ensure that the GWT
    SDK library is above it on your project's classpath (project properties 
    Java Build Path  Order and Export). Otherwise, you may get a
    java.lang.NoSuchMethodError when launching your application in development
    mode.
    4. Add code to FooClient. You'll need at least one GWT module and an
    entrypoint class.  If you're using GWT RPC, you'll also need your service
    async interfaces as well (see the GWT docs for more details).  If don't 
 have
    existing code to work with, just generate a new Web Application project and
    pilfer the files from there (renaming things as necessary, of course).
    5. Add code to FooShared.  If you're using GWT RPC, this is where your
    RPC synchronous interfaces go.  Also, any classes that you use on both the
    client and the server should go here.
    6. Add code to FooServer.  Add your HTML pages, CSS 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-29 Thread aish sundar
Hi Keith,

Thanks a lot for the detailed steps. We are in the process of
integrating the projects. However we have some doubts in the process.

1) FooServer -(i) I am assuming this can be the pre-existing Dynamic
Web project, which we want to integrate with the GWT project. So from
my example, this will be TestWeb, right?
(ii) You wrote FooServer will contain your server-
side code and WAR directory + static resources (HTML, CSS, etc.),  .
(a) Does server-side code mean
the code within the server package of my GWT project i.e.,
GreetingServiceImpl.java? I am assuming FooServer will also have the
code associated with my pre-existing web project as well.
(b) How and from where do I get
the WAR directory? Is this the WAR folder generated in my GWT
project? Should I just simply copy the WAR folder from the GWT project
over to my FooServer or is there any other way to generate it?


2) Which project should the TestUI.gwt.xml file, the one that
defines the modules and entry point go?

3) It will be great if you can include a SCREENSHOT of your expanded
WORKSPACE so that we can clearly see the layout of the various
projects and which component goes where.

Here's an overview of what we have done following your instructions.
let us know if anything looks wrong.

I initially had 2 projects FooServer (web project) and a TestUI (GWT
project).

(1) FooServer (Dynamic Web project, which contains the server side
code of the GWT proj)
  src
  TestUI.gwt.xml ( don't know if this should go here)
  com.server (newly added GWT server code)
 GreetingServiceImpl

  war (copied from TestUI)
  testui (which has the generated js etc)
  WEB-INF
 classes
 lib
web.xml
  TestUI.css
  TestUI.html

  WebContent
  appPages
  META-INF
  WEB-INF
 lib
  web.xml

  TestUI.html and TestUI.css (static HTML pages and CSS)


(2) FooClient (to contain the client side code of the GWT proj)

   src
  com.client
   TestUI.java
GreetingServiceAsync.java (asynch
RPC interface)


(3) FooShared (to contain the shared and the synch interface)
   src
  com.shared
   Sharedclass1.java
SharedClass2.java
GreetingService.java (synch RPC
interface)

Thanks in advance ,

Aish

 Hey all,

 Ok, now that the Google Plugin for Eclipse 1.3.2 is out, here are some
 instructions for setting up a GWT application split across multiple projects
 (client, server, and shared code in separate projects).  Note that this will
 *only *work in *Eclipse for Java EE* with *GPE 1.3.2*, so verify that you
 have both installed before attempting.  This procedure *won't* work if
 you're using App Engine, since there is no WTP server adapter for App
 Engine.

 Also, I'm assuming that your application uses *GWT 2.0.3* and you're using
 GWT RPC, so your server will provide at least one RPC service.  If you're
 not using RPC, just skip the relevant parts,

    1. Create 3 projects: we'll call them FooServer, FooClient, and FooShared
    for the purposes of this walkthrough.  FooClient will contain your GWT
    client-side code, FooServer will contain your server-side code and WAR
    directory + static resources (HTML, CSS, etc.), and FooShared will contain
    code that is shared between the client and server (e.g. GWT RemoteService
    interfaces).  FooServer should be a Dynamic Web Project; FooClient and
    FooShared can be regular Java projects.
    2. Enable GWT for all 3 projects (project properties  Google  Web
    Toolkit).  *NOTE: If you're not using GWT RPC, you don't need to enable
    GWT on FooServer*).
    3. If your project uses the Apache Tomcat library, ensure that the GWT
    SDK library is above it on your project's classpath (project properties 
    Java Build Path  Order and Export). Otherwise, you may get a
    java.lang.NoSuchMethodError when launching your application in development
    mode.
    4. Add code to FooClient. You'll need at least one GWT module and an
    entrypoint class.  If you're using GWT RPC, you'll also need your service
    async interfaces as well (see the GWT docs for more details).  If don't 
 have
    existing code to work with, just generate a new Web Application project and
    pilfer the files from there (renaming things as necessary, of course).
    5. Add code to FooShared.  If you're using GWT RPC, this is where your
    RPC synchronous interfaces go.  Also, any classes that you use on both the
    client and the server should go here.
    6. Add code to FooServer.  Add your HTML pages, CSS 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-26 Thread Keith Platfoot
Hey all,

Ok, now that the Google Plugin for Eclipse 1.3.2 is out, here are some
instructions for setting up a GWT application split across multiple projects
(client, server, and shared code in separate projects).  Note that this will
*only *work in *Eclipse for Java EE* with *GPE 1.3.2*, so verify that you
have both installed before attempting.  This procedure *won't* work if
you're using App Engine, since there is no WTP server adapter for App
Engine.

Also, I'm assuming that your application uses *GWT 2.0.3* and you're using
GWT RPC, so your server will provide at least one RPC service.  If you're
not using RPC, just skip the relevant parts,

   1. Create 3 projects: we'll call them FooServer, FooClient, and FooShared
   for the purposes of this walkthrough.  FooClient will contain your GWT
   client-side code, FooServer will contain your server-side code and WAR
   directory + static resources (HTML, CSS, etc.), and FooShared will contain
   code that is shared between the client and server (e.g. GWT RemoteService
   interfaces).  FooServer should be a Dynamic Web Project; FooClient and
   FooShared can be regular Java projects.
   2. Enable GWT for all 3 projects (project properties  Google  Web
   Toolkit).  *NOTE: If you're not using GWT RPC, you don't need to enable
   GWT on FooServer*).
   3. If your project uses the Apache Tomcat library, ensure that the GWT
   SDK library is above it on your project's classpath (project properties 
   Java Build Path  Order and Export). Otherwise, you may get a
   java.lang.NoSuchMethodError when launching your application in development
   mode.
   4. Add code to FooClient. You'll need at least one GWT module and an
   entrypoint class.  If you're using GWT RPC, you'll also need your service
   async interfaces as well (see the GWT docs for more details).  If don't have
   existing code to work with, just generate a new Web Application project and
   pilfer the files from there (renaming things as necessary, of course).
   5. Add code to FooShared.  If you're using GWT RPC, this is where your
   RPC synchronous interfaces go.  Also, any classes that you use on both the
   client and the server should go here.
   6. Add code to FooServer.  Add your HTML pages, CSS files, etc. to
   WebContent.  If you're using GWT RPC, your RPC servlet code lives in
   FooServer.  Update WebContent/WEB-INF/web.xml to point to your welcome page,
   set your servlet mappings, etc.
   7. Link the projects.  Add FooShared as a project dependency of FooClient
   (project properties  Java Build Path  Projects).  Add FooShared as a
   module dependency of FooServer (projects properties  Java EE Module
   Dependencies).  If you're using GWT RPC, you'll also need to add the
   gwt-servlet.jar as a module dependency of FooServer.  Eclipse will ensure
   that your runtime WAR directory's WEB-INF/lib and WEB-INF/classes will
   always contain up-to-date copies of its module dependencies.
   8. All 3 projects should now compile, but if you're using GWT RPC you
   probably have some errors caused by missing asynchronous interfaces.  Of
   course, ours aren't missing, they're just in a different project
   (FooClient).  Ignore the errors via Preferences  Google  Errors/Warnings 
   GWT Remote Procedure Calls (RPC).
   9. Set up a server for FooServer.  If you don't already have a server
   configured, right-click inside the Servers view and select New  Server.
Use the server of your choice (I used Tomcat v6) and add FooServer to it.
If you already have a server, you can link it by right-clicking it and
   selecting Add and Remove.
   10. Start FooServer's server.
   11. Create a Web Application launch configuration for FooClient.  The
   default main type will be GWTShell; change this to com.google.gwt.DevMode.
On the Server tab, uncheck the box: Run built-in server (we'll use
   FooServer's server instead).  On the GWT tab, enter the URL for the GWT host
   page in the URL field.  This will be the address of FooServer's server plus
   FooServer's context root (project props  Web Project Settings).  In my
   case, the startup URL is: http://localhost:8080/Foo
   12. Run the new launch configuration.  The first time you launch, you'll
   be prompted to select the runtime WAR directory.  Select the staging
   directory WTP created for FooServer.  This location is configurable but by
   default it is: eclipse
   
workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/project
   name.
   13. In the Development Mode view that appears at the bottom of the
   workbench, there should be a URL displayed.  Right-click and select Copy,
   then paste this into your web browser's address bar.  If your browser
   doesn't have the GWT Developer Plugin installed, you'll be redirected to a
   page where you can install it.
   14. If all went well, you now have your GWT code running in development
   mode on top of your custom server.  You should be able to edit code in any
   of 

Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-25 Thread spacejunkie
That sounds familiar.
I wanted to the the same thing some time back which is when I wrote
this:
http://priyanksden.blogspot.com/2009/11/incorporating-gwt-into-your-project.html

It works with GWT 2.0 too.

Integrating GWT is a common tasks that most nontrivial applications
have to go through.
Each project has its own structure and the plugin generated code
structure might not be suitable for the existing project.
I hope to see some easy ways to configure this in the plugin. I'm
particularly interested in simple ways to configure (and change) the
web root folder path,
and server config for devmode.

 Official plugin support for this would be great.



On Mar 25, 12:11 am, aish sundar sunda...@gmail.com wrote:
 Thats sounds gr8!! Thanks a lot. will look out for the reply

 On Mar 24, 1:51 pm, Keith Platfoot kplatf...@google.com wrote:

  Hi aish,

  Yes, this type of configuration is definitely possible.  However, as of
  right now, using it with the current version of the Google Plugin for
  Eclipse requires a few hacky workarounds.  The good news is that we're
  releasing an update today or tomorrow (1.3.2) with a few surgical fixes that
  will make the process more seamless.  After we release the new version, I'll
  post back to this thread with instructions for setting up a multiple project
  configuration (projects for client code, server code, and optionally shared
  code).

  Keith

  On Tue, Mar 23, 2010 at 12:50 PM, aish sundar sunda...@gmail.com wrote:
   I am a newbie to GWT and have some integrating a GWT project to an
   existing web project running on Tomcat within Eclipse. It will be
   great if any one of you can help out. Heres the scenario.

   1) I have a separate GWT project I created using GWT plugin for
   Eclipse. Lets call it TestUI
   2) I already have an existing web project within eclipse, called
   TestWeb, which runs on Tomcat6.0
   3) Now I am somehow looking to integrate TestUI (in form of a war file
   or something) into TestWeb, so that I can get to the GWT UI pages
   through the tomcat server.

   Is this even feasible? Could you elaborate steps required to achieve
   #3 above?

   Thanks,
   aish

   --
   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-tool...@googlegroups.com.
   To unsubscribe from this group, send email to
   google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@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-tool...@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.



help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-24 Thread aish sundar
I am a newbie to GWT and have some integrating a GWT project to an
existing web project running on Tomcat within Eclipse. It will be
great if any one of you can help out. Heres the scenario.

1) I have a separate GWT project I created using GWT plugin for
Eclipse. Lets call it TestUI
2) I already have an existing web project within eclipse, called
TestWeb, which runs on Tomcat6.0
3) Now I am somehow looking to integrate TestUI (in form of a war file
or something) into TestWeb, so that I can get to the GWT UI pages
through the tomcat server.

Is this even feasible? Could you elaborate steps required to achieve
#3 above?

Thanks,
aish

-- 
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-tool...@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.



Re: help integrating GWT project to an existing Web Project (on Tomcat) within Eclipse

2010-03-24 Thread aish sundar
Thats sounds gr8!! Thanks a lot. will look out for the reply

On Mar 24, 1:51 pm, Keith Platfoot kplatf...@google.com wrote:
 Hi aish,

 Yes, this type of configuration is definitely possible.  However, as of
 right now, using it with the current version of the Google Plugin for
 Eclipse requires a few hacky workarounds.  The good news is that we're
 releasing an update today or tomorrow (1.3.2) with a few surgical fixes that
 will make the process more seamless.  After we release the new version, I'll
 post back to this thread with instructions for setting up a multiple project
 configuration (projects for client code, server code, and optionally shared
 code).

 Keith

 On Tue, Mar 23, 2010 at 12:50 PM, aish sundar sunda...@gmail.com wrote:
  I am a newbie to GWT and have some integrating a GWT project to an
  existing web project running on Tomcat within Eclipse. It will be
  great if any one of you can help out. Heres the scenario.

  1) I have a separate GWT project I created using GWT plugin for
  Eclipse. Lets call it TestUI
  2) I already have an existing web project within eclipse, called
  TestWeb, which runs on Tomcat6.0
  3) Now I am somehow looking to integrate TestUI (in form of a war file
  or something) into TestWeb, so that I can get to the GWT UI pages
  through the tomcat server.

  Is this even feasible? Could you elaborate steps required to achieve
  #3 above?

  Thanks,
  aish

  --
  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-tool...@googlegroups.com.
  To unsubscribe from this group, send email to
  google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@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-tool...@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.