Coder Social home page Coder Social logo

gwt-tooling's People

Watchers

 avatar

gwt-tooling's Issues

Add support for MacOS X

What steps will reproduce the problem?
1. Create a new GWT Browser launch configuration
2. Run 


What is the expected output? 
A running GWT browser
What do you see instead?
Exception in thread "main" java.lang.NoClassDefFoundError: 
com/google/gwt/dev/GWTShell


What version of the product are you using?
GWT Tooling  1.3.2.200704031413

 On what operating system?
OS X 10.4


Please provide any additional information below.

Adding gwt-dev-OS.jar fixes the problem.

Original issue reported on code.google.com by [email protected] on 29 Apr 2007 at 5:43

Problems with "GWT Tools -> Create and publish"

What steps will reproduce the problem?
1. Create new "Dynamic Web Project" named "x", using GWT
2. Create GWT Web Module, package="a.b.c", name="D"
3. Try to "GWT Tools -> Compile and Publish"

will result in an error:

"Specified working directory does not exist...: ...\D\bin.gwt"

But: folder "bin.gwt" is existing !

Now creating some folder below "bin.gwt", e.g Z. Now it is working !

Environment:
- Windows XP SP2, Eclipse 3.2, Googlipse 1.1.0Beta (20060918), JDK 1.5.0_06

Original issue reported on code.google.com by [email protected] on 5 Oct 2006 at 5:05

Removal of googlipse packages and rewrite of the new wizards

What is left here are the new wizards. This is how I will approach the problem:

1) Move code to new org.eclipseguru.* pacakges.
2) Refactor the wizards to use the Builder Pattern.
    2a) Create a project builder.
    2b) Create a module builder.
    2c) Create a remote service builder.

Once this is done then we can go ahead and add new features to the wizards.

Original issue reported on code.google.com by [email protected] on 21 Sep 2007 at 2:44

Cant open the preference window

What steps will reproduce the problem?
1. Install a new eclipse 3.2.2 and update everything needed for WTP
2. Install GWT plugin through update manager
3. Open window->preferences->GWT

What is the expected output? What do you see instead?
I want to configure GWT plugin in its preference page, but error shows.

What version of the product are you using? On what operating system?
Latest version in the update manager on WinXP

Please provide any additional information below.
I gave a snapshot of the problem in the attached file.

Original issue reported on code.google.com by [email protected] on 17 Mar 2007 at 9:38

Attachments:

Needs more documentation

There's hardly any documentation.  The screen-cast is OK, but I can't
figure out how to use the J2EE dependencies feature in the GWT properties
panel on the project.

Original issue reported on code.google.com by [email protected] on 23 Jul 2007 at 5:05

NoClassDefFoundError - IResource - using version 1.3.1.200703011441

What steps will reproduce the problem?
1. Upgrade to version 1.3.1.200703011441
2. Start Eclipse
3. See log below
4. Build project fails.

What is the expected output? What do you see instead?

Problems occurred building the selected resources.
  Error instantiating builder: org.eclipseguru.gwt.core.builder.
    Plug-in org.eclipseguru.gwt.core was unable to load class
org.eclipseguru.gwt.core.builder.GwtProjectBuilder.
  Plug-in org.eclipseguru.gwt.core was unable to load class
org.eclipseguru.gwt.core.builder.GwtProjectBuilder.

What version of the product are you using? On what operating system?

org.eclipseguru.gwt - 1.3.1.200703011441, Windows XP


Eclipse log:

!SESSION 2007-03-07 12:41:21.384
-----------------------------------------------
eclipse.buildId=M20060921-0945
java.version=1.5.0_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_GB
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.ui.workbench 4 2 2007-03-07 12:41:39.696
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.ui.workbench".
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IResource
    at
org.eclipseguru.gwt.ui.decorators.GwtLabelDecorator.decorate(GwtLabelDecorator.j
ava:51)
    at
org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(Light
weightDecoratorDefinition.java:253)
    at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnab
le.run(LightweightDecoratorManager.java:71)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(Lightwei
ghtDecoratorManager.java:336)
    at
org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(Li
ghtweightDecoratorManager.java:322)
    at
org.eclipse.ui.internal.decorators.DecorationScheduler$1.ensureResultCached(Deco
rationScheduler.java:338)
    at
org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler
.java:308)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

Original issue reported on code.google.com by [email protected] on 7 Mar 2007 at 12:54

GWT Tooling does not appear in Windows/Preferences

What steps will reproduce the problem?
1. Operating System WinXP  [Version 5.1.2600]
2. Java(TM) SE Runtime Environment (build 1.6.0_02-b06)
   Java HotSpot(TM) Client VM (build 1.6.0_02-b06, mixed mode, sharing)
3. Eclipse SDK
   Version: 3.2.2
   Build id: M20070212-1330
   (Fresh install wtp-all-in-one-sdk-R-1.5.4-win32.zip)
4. Fresh install GWT Tooling org.eclipseguru.gwt_1.3.2.200707250725 
   via http://eclipseguru.org/
5. Restart eclipse.

What is the expected output? What do you see instead?
Select Windows/Preferences - no GWT Entry

In "About Eclipse" GWT Tooling and GWT Tooling Core -> OK
In "Help/SW Updates/Manage.." Status GWT Tooling "configured properly"

In "File/New/Dyn. WEB Project" Configuration "... using GWT" is offered.
After Click on "Finish" Errormsg: 
Failed to instantiate class
com.googlipse.gwt.facet.GwtWebInstallActionConfigFactory.
New project appears, but empty.

Eclipse log see attachment.




What version of the product are you using? On what operating system?


Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 26 Jul 2007 at 10:53

Attachments:

Demo: Show GWT Hosted Mode launch configuration

It took me some minutes, to find out, that an GWT Hosted mode launch
configuration is available.

This has been missing in GWT demo (which is quite excellent !). Consider to
include in further versions.

Original issue reported on code.google.com by [email protected] on 9 Oct 2006 at 9:15

Internalization of product

There is no NLS support. There are a couple of ways of doing this and it is
quite straightforward to implement. The sooner the better since as the
product grows then there will be more strings to externalize. 

Original issue reported on code.google.com by [email protected] on 2 Jul 2007 at 7:04

Eclipse->Preferences, there is not GWT option to configure

What steps will reproduce the problem?
1. I installed this tool using eclipse update site
2. Eclipse version 3.2.2
3. After installing, i re-started eclipse, but i can't see any option,
where i can set GWT home path.

What is the expected output? What do you see instead?
Expected : Eclipse->Preferences->GWT
Instead  : Nothing

What version of the product are you using? On what operating system?
Eclipse 3.2.2, Windows XP

Please provide any additional information below.
I had installed googlipse, i uninstalled it, to make sure, it works fine.

Original issue reported on code.google.com by [email protected] on 12 Apr 2007 at 5:19

Support inheritance when generating async stubs from remote service interfaces

When generating the async service stubs we need to support inheritance.
Right now, all super interfaces get removed from the remote service
instance. But it seems that GWT allows inheritance so we should support it,
too.

Example:

interface TreeDatasourceAsync extends DataSourceAsync {}
interface MainServiceAsync extends FixedSizeListDatasourceAsync,
PropertiesDatasourceAsync {} 

Original issue reported on code.google.com by [email protected] on 21 Aug 2006 at 3:19

RFE: Participate on Class recfactoring

Feature request:
When a Java class representing the GWT WebModule entry point will be
refactored, e.g. renamed, the entry-point will not be updated.

Fix: manually change.

GWT Tooling

Version: 1.1.0.200609181006
Build id: 1.1 BETA3

Original issue reported on code.google.com by [email protected] on 6 Oct 2006 at 12:17

Template for "New GWT Module" wizard.

It would be nice if a template could be defined for the "New GWT Module"
wizard. At the moment, it creates the HTML file with a bunch of comments
and other things that are only really useful for beginners. The class that
implements EntryPoint suffers from a similar issue.

Original issue reported on code.google.com by ismaelj on 30 Aug 2006 at 1:04

GWT preferences page not visible on Linux

What steps will reproduce the problem?
1. Eclipse 3.2.1 Fedora core 5 linux
2. install plugin
3. look at prefs and nothing there

What is the expected output? What do you see instead?
I see GWT plugin on about window but not in prefs window

What version of the product are you using? On what operating system?
latest as of today (this posts date)

Please provide any additional information below.?
No errors reported during install.

Original issue reported on code.google.com by [email protected] on 4 Oct 2006 at 9:42

Simple Remote Service don't work

1. Install eclipse-wtp, gwt-tooling
2. Make a new project as in the screencast
3. Try it with Tomcat 5.5 (with GWT browser), it's work
4. Use wizard to generate RPC stubs.
5. Add only one basic methods in the stubs
MyService.java: public String getOneString();
MyServiceImpl.java:     public String getOneString() {
        return "plouf";
    }
6. Adding one basic call to the RPC service in MyModule.java:
    MyServiceAsync theService = (MyServiceAsync) GWT.create(MyService.class);
    ServiceDefTarget endpoint = (ServiceDefTarget) theService;
    endpoint.setServiceEntryPoint(GWT.getModuleBaseURL()+"myservice");
    AsyncCallback callback = new AsyncCallback() {
        public void onSuccess(Object result) {
            label.setText("plouf");
        }

        public void onFailure(Throwable caught) {
            label.setText("failllll"+caught.toString());
        }
      };
      theService.getOneString(callback);

7. Try it. It doesn't work.
8. Also tried to add in MyModule.gwt.xml:
<servlet path="/com.isoco.tools.MyModule/myservice"
class="com.isoco.tools.server.MyServiceImpl"/>
9. And also in web.xml:
    <servlet>
    <servlet-name>MyService</servlet-name>
    <servlet-class>com.isoco.tools.server.MyServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>MyService</servlet-name>
    <url-pattern>/com.isoco.tools.MyModule/myservice</url-pattern>
</servlet-mapping>


Sorry to send this here... it doesn't seem like a bug. But I think that a
lot of newbie in GWT could have the same problem.


What version of the product are you using? On what operating system?


Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 21 Dec 2006 at 5:42

Attachments:

Async stub left over in Package Explorer after delete

From a posting:
> ... So i didn't like that and selected all 3 generated
> files and pressed delete button. MyServiceAsync file was deleted but it
> was still displayed in PackageExplorer. I was need to restart eclipse
> for that file to vanish.

Original issue reported on code.google.com by [email protected] on 21 Aug 2006 at 3:23

Do not add access rules when creating combined web projects

Currently when you add the GWT facet to a new project, the GWT tooling
forces a number of access rules to be added to the .classpath file, which
enforce what classes you are allowed to work with.

While the intent is good, the problem is that this makes it impossible for
you to produce a web app which contains a mixture of GWT client side code,
GWT server side code, and non-GWT related server side code, like web
controllers for another UI framework (e.g. Spring MVC). 

Now I could make the GWT project depend on another one, and put the non-GWT
code in that other project, but that makes assembling and testing pretty
hard, as I would have to bring in that other code as a jar.

I would much rather have one combined project, and find out about errors
from the GWT compiler instead...

Original issue reported on code.google.com by [email protected] on 3 Dec 2006 at 7:49

Support Web Tools 3.0 and Eclipse 3.4

GWT tooling will eventually have to support the new version of web tools 
and eclipse.  Currently it doesn't compile because of some dependencies on 
classes which have been removed or refactored.  The code being used from 
those classes either has to be moved into gwt-tooling, or replacements 
will have to be found.

Many of the now-missing classes were in packages named "internal" which 
hints that they probably shouldn't have been used directly in the first 
place.

Original issue reported on code.google.com by [email protected] on 20 Jan 2008 at 10:06

Can not use "gwt module editor"

What steps will reproduce the problem?
1. right click FirstMocule.gwt.xml
2. open with ->gwt module editor
3. then the errors.

What is the expected output? What do you see instead?
I think it should open the editor.

What version of the product are you using? On what operating system?
eclipse3.3.2,wtp2.0

Please provide any additional information below.

Error opening the editor.
org.eclipse.jface.text.Document 
cannot be cast to 
org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument


Original issue reported on code.google.com by [email protected] on 17 Apr 2008 at 9:07

Remaining googlips reference

In the Java perspective, I can right click, and do "New | GWT Module" (or
GWT Remote Service). No problem...

In the J2EE perspective (from WTP), I right click, do "New | Other...", and
then have to expand "Googlips" and pick "GWT Module" under that. The
"Googlipse" needs to be changed to "GWT Tooling".

Colin

Original issue reported on code.google.com by [email protected] on 3 Dec 2006 at 7:55

Externalise Strings support

It would be nice to have something similar to the Java "Externalise
Strings" wizard that understood GWT's externalisation mechanism. Having
things like "Quick Fix" would be a bonus. :)

Original issue reported on code.google.com by ismaelj on 5 Sep 2006 at 6:50

Missing support for compilation styles

There is currently no way to change the compilation style, e.g. obfuscated
v. pretty v. detailed.  This oversight makes it difficult to debug JS
errors since the default GWT compiler setting is obfuscated.

Original issue reported on code.google.com by [email protected] on 30 Mar 2008 at 9:58

Template for &quot;New GWT Module&quot; wizard.

It would be nice if a template could be defined for the "New GWT Module"
wizard. At the moment, it creates the HTML file with a bunch of comments
and other things that are only really useful for beginners. The class that
implements EntryPoint suffers from a similar issue.

Original issue reported on code.google.com by ismaelj on 30 Aug 2006 at 1:19

Source menu entries disabled and with incorrect label in GWT module editor.

What steps will reproduce the problem?
1. Open a GWT module file with the GWT module editor
2. Click on the Source Menu

What is the expected output?

Toggle Comment
Add Block Comment
Remove Block Comment
Shift Right
Shift Left
Cleanup Document...
Format ->
<separator>
Occurrences in File

What do you see instead?

ToggleComment.label
AddBlockComment.label
RemoveBlockComment.label
Shift Right
Shift Left
label
Format ->
<separator>
label

The 5 entries that include the word "label" are disabled and differ from
the menu when opening the file with the XML editor. This is particularly
bad because we lose the comment related functionality.

What version of the product are you using? On what operating system?

Version: 1.1.0.200608212145
Build id: 1.1 beta2
OS: Fedora Core 5 (Linux), GTK2 2.8.20

Original issue reported on code.google.com by ismaelj on 23 Aug 2006 at 4:55

Press CTRL-F in GWT module editor raises a NPE

Will result in an NPE:

!ENTRY org.eclipse.ui 4 0 2006-10-31 18:42:58.055
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
    at
org.eclipseguru.gwt.ui.editor.utils.HyperlinkDetectorUtils.getCurrentNode
(HyperlinkDetectorUtils.java:49)
    at
org.eclipseguru.gwt.ui.editor.ModuleSourceHyperlinkDetector.detectHyperlinks(Mod
uleSourceHyperlinkDetector.java:39)
    at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks
(HyperlinkManager.java:239)
    at
org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.jav
a:422)
    at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:145)
    at org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3390)
    at org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3009)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:419)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run
(PlatformActivator.java:78)
    at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ecli
pseAppLauncher.java:104)
    at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLau
ncher.java
:74)
    at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:348)
    at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:165)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
    at java.lang.reflect.Method.invoke (Method.java:585)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:341)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:285)
    at org.eclipse.core.launcher.Main.run(Main.java:987)
    at org.eclipse.core.launcher.Main.main(Main.java:962)


GWT 1.1.0

Original issue reported on code.google.com by [email protected] on 31 Oct 2006 at 6:46

Option to build automatically

It would be nice if the GWT Tools > Compile and Publish showed up the in 
the "Builders" page, and if it were enabled, it would automatically run in 
the background if you changed something.

Original issue reported on code.google.com by [email protected] on 29 Jul 2007 at 6:29

Patch from Mick Hicks related to -noserver option

Gunnar, first let me say that your GWT Eclipse plugin was a great help 
and was really nicely done.  We have been using it for a while now and 
as we dove deeper into GWT, we wanted to get the -noserver mode 
working.  We were finally able to do this so we attached a patch that 
adds the '-noserver' option and also corrects some state problems that 
were blowing away the custom URL field when using -noserver.  Please let 
me know if you have any questions.

Thanks again

-Matt

Original issue reported on code.google.com by [email protected] on 18 Oct 2006 at 7:29

Attachments:

Remove @gwt.typeArgs tag from JavaDoc method comment when creating Asynch interface stub

What steps will reproduce the problem?
1. Create a remote service using the plugin
2. Add a method to the interface.
3. Add a gwt.typeArgs comment to the method in the interface

What is the expected output? What do you see instead?
The comments for the method should be copied (which they are) but the 
gwt.typeArgs comment for the return value should NOT, since the async 
method does not have a return value.  This is an issue because warnings 
are generated during compilation.

What version of the product are you using? On what operating system?
Eclipse 3.2
Windows
gwt 1.1.0
plugin version 1.1.0.200608212145

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 7 Sep 2006 at 8:56

Access classes from other projects

It would be great if adding another project to the build path would make 
its classes accessible to GWT.  I'd like to share some objects between my 
server-side code and the GWT code but they're in different projects, so I 
can't really do it, it seems.

Original issue reported on code.google.com by [email protected] on 1 Aug 2007 at 5:35

Launch configuration for running GWT test cases

GWT also supports developing test cases. There is a base class GWTTestCase,
which can be started in hosted or web mode, and is running an invisible GWT
browser.

For running these test cases, folling has to be fulfilled:

1. Each src folder must be added to CLASSPATH (e.g. ./src, ./test within
project, standard GWT directory layout)
2. bin folder must be added to CLASSPATH
3. gwt-dev-{windows|linux}.jar must be added to CLASSPATH

See also junitCreator.cmd/sh, which generates a Eclipse launch
configuration based on these principles, and JUnit guide at GWT website.

I request a new launch configuration for GWT TestCases with these requirements:
- Should be visible in Run and Debug menu, when selected class extends
GWTTestCase
- All source foldes habe to be added to CLASSPATH
- gwt-dev-{windows|linux}.jar has to be added to CLASSPATH
- Should be configurable for hosted or web mode
- out directory should be possible to be specified. Will be set via a Java
property -Dgwt.args="-out www-test"

Workaround: maintain your launch configuration manually according to rules
above.

Original issue reported on code.google.com by [email protected] on 11 Nov 2006 at 2:15

Can't increase the amount of memory for the compiler.

I seem to have produced enough code so that the GWT compiler gives an out 
of memory error.  I need to give the compiler more memory, but I don't 
know how.  Any ideas ?  Could vmargs be added to the settings for the GWT 
plugin ?

Thanks.

Original issue reported on code.google.com by [email protected] on 4 Sep 2007 at 2:17

Resources out of sync with the filesystem

With the new version of GWT, it creates a new filename everytime your code 
changes.

Unfortunately, eclipse doesn't pick up on the new file when publishing to 
the application server, requiring that you often have publish twice or 
more.

It's also common to get an error "Resource out of sync with the 
filesystem" and the Publish aborts.

It would be great if gwt-tooling would refresh the bin.gwt folder after 
running the compiler and before letting the publish continue (if possible).

Original issue reported on code.google.com by [email protected] on 5 Jan 2008 at 8:36

Deployment folder includes .gen and .gwt-cache folders


When deploying, gwt-tooling tells web tools to include the bin.gwt folder, 
which unfortunately also includes the .gen and .gwt-cache folders.

The result is that sometimes the Publish operation fails due to "resource 
out of sync with the filesystem" for some file in one of those folders, 
even though those files shouldn't be deployed anyway.

Also, it seems like a minor security problem to release the source code to 
the server.  Theoretically those files shouldn't be accessible, but still
 ... it'd be nice to clean those up.

The solution would be to tell the WTP deployment system the specific 
subfolder(s) which are the GWT modules.

Original issue reported on code.google.com by [email protected] on 5 Jan 2008 at 7:59

Rewrite New Remote Service Wizard

The current wizard still comes from Googlipse. It need to be rewritten to
get rid of some limitations. 

* Should be able to generate services in any package
* Warn user when package not referenced in module descriptor, i.e. outside
of module scope
* Should be possible to generate servlet implementation independent


Original issue reported on code.google.com by [email protected] on 21 Aug 2006 at 3:28

Generate Async methods for superinterfaces in a RemoteService

I wanted to share an interface between the RemoteService and my other 
stuff without creating a dependency on GWT, so I created a superinterface 
for the GWT service interface.  Then I changed the GWT Tooling to generate 
Async versions of the interface's superinterfaces.

Index: C:/work/3rdparty/gwt-tooling/org.eclipseguru.gwt.core/src/org/
eclipseguru/gwt/core/internal/codegen/AsyncServiceCodeGenerator.java
===================================================================
--- C:/work/3rdparty/gwt-tooling/org.eclipseguru.gwt.core/src/org/
eclipseguru/gwt/core/internal/codegen/AsyncServiceCodeGenerator.java    
(revision 290)
+++ C:/work/3rdparty/gwt-tooling/org.eclipseguru.gwt.core/src/org/
eclipseguru/gwt/core/internal/codegen/AsyncServiceCodeGenerator.java    
(working copy)
@@ -11,7 +11,10 @@

********************************************************************************
******************/
 package org.eclipseguru.gwt.core.internal.codegen;

+import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.Iterator;
+import java.util.List;

 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -221,6 +224,45 @@
        return javadoc;
    }

+   /**
+    * Add all methods from the given interface and its 
superinterfaces to the given list.
+    * 
+    * @param type Interface to get the methods of
+    * @param output List to add the methods to
+    * @throws CoreException If an error occurs
+    */
+   private void collectAllInterfaceMethods(IType type, List<IMethod> 
output, HashSet<String> methodSigs, IProgressMonitor monitor) throws 
CoreException {
+       for(IMethod method: type.getMethods()) {
+           // Don't repeat the same method
+           String methodSig = 
method.getElementName()+method.getSignature();
+           if(!methodSigs.add(methodSig))
+               continue;
+           
+           output.add(method);
+       }
+       for(String 
superInterfaceName:type.getSuperInterfaceNames()) {
+           String[][] resolvedType = 
type.resolveType(superInterfaceName);
+           if(resolvedType.length == 0 || resolvedType == 
null) {
+               System.out.println("Error: Failed to 
resolve superinterface "+superInterfaceName);
+           } else {
+               IType superInterface = 
type.getJavaProject().findType(Signature.toQualifiedName(resolvedType[0]), 
monitor);
+               if(superInterface != null)
+                   
collectAllInterfaceMethods(superInterface, output, methodSigs, monitor);
+               else // TODO Probably should be using 
eclipse's error reporting system ...
+                   System.out.println("Warning: 
Couldn't find interface "+superInterfaceName);
+           }
+       }
+   }
+   
+   /**
+    * Return all methods of the remote service type and its 
superinterfaces.
+    */
+   IMethod[] getAllInterfaceMethods(IProgressMonitor monitor) throws 
CoreException {
+       List<IMethod> result = new ArrayList<IMethod>();
+       collectAllInterfaceMethods(remoteServiceType, result, new 
HashSet<String>(), monitor);
+       return result.toArray(new IMethod[result.size()]);
+   }
+   
    /*
     * (non-Javadoc)
     * 
@@ -234,22 +276,22 @@
        try {

            // add all existing imports
-           writeImports(imports);
+           writeImports(imports, monitor);

            // add all public methods
-           IMethod[] methods = remoteServiceType.getMethods();
+           IMethod[] methods = 
getAllInterfaceMethods(monitor);
            for (IMethod method : methods) {
                // skip contructors and binary, static, 
private or protected
                // methods
                if (method.isConstructor() || 
method.isBinary() || Flags.isStatic(method.getFlags()) || 
Flags.isPrivate(method.getFlags()) || Flags.isProtected(method.getFlags()))
                    continue;
-
+               
                StringBuffer methodContent = new 
StringBuffer();

                // javadoc
                ISourceRange javadocRange = 
method.getJavadocRange();
                if (null != javadocRange) {
-                   IBuffer buffer = 
remoteServiceType.getOpenable().getBuffer();
+                   IBuffer buffer = 
method.getOpenable().getBuffer();
                    if (buffer != null)

methodContent.append(buffer.getText(javadocRange.getOffset(), 
javadocRange.getLength()));
                }
@@ -438,20 +480,52 @@
     * Writes the existing imports from the remote service.
     * 
     * @param imports
+    * @param monitor 
     * @throws JavaModelException
     */
-   private void writeImports(ImportsManager imports) throws 
JavaModelException {
-       IImportDeclaration[] existingImports = 
remoteServiceType.getCompilationUnit().getImports();
-       for (IImportDeclaration declaration : existingImports) {
-           if (Flags.isStatic(declaration.getFlags())) {
-               String name = 
Signature.getSimpleName(declaration.getElementName());
-               boolean isField = !name.endsWith("()"); //
$NON-NLS-1$
-               if (!isField)
-                   name = name.substring(0, 
name.length() - 2);
-               String qualifier = 
Signature.getQualifier(declaration.getElementName());
-               imports.addStaticImport(qualifier, name, 
isField);
-           } else
-               
imports.addImport(declaration.getElementName());
+   private void writeImports(ImportsManager imports, IProgressMonitor 
monitor) throws JavaModelException {
+       writeImports(remoteServiceType, imports, monitor, true);
+   }
+   
+   /**
+    * Write imports and include imports from super-interfaces.
+    * 
+    * @param type
+    * @param imports
+    * @param monitor 
+    * @param includeSuperInterfaces
+    * @throws JavaModelException 
+    */
+   private void writeImports(IType type, ImportsManager imports, 
IProgressMonitor monitor, boolean includeSuperInterfaces) throws 
JavaModelException {
+       
+       ICompilationUnit compilationUnit = 
type.getCompilationUnit();
+       if(compilationUnit != null) {
+           IImportDeclaration[] existingImports = 
compilationUnit.getImports();
+           for (IImportDeclaration declaration : 
existingImports) {
+               if 
(Flags.isStatic(declaration.getFlags())) {
+                   String name = 
Signature.getSimpleName(declaration.getElementName());
+                   boolean isField 
= !name.endsWith("()"); //$NON-NLS-1$
+                   if (!isField)
+                       name = name.substring(0, 
name.length() - 2);
+                   String qualifier = 
Signature.getQualifier(declaration.getElementName());
+                   imports.addStaticImport(qualifier, 
name, isField);
+               } else
+                   
imports.addImport(declaration.getElementName());
+           }
        }
+       if(includeSuperInterfaces) {
+           for(String 
superInterfaceName:type.getSuperInterfaceNames()) {
+               String[][] resolvedType = 
type.resolveType(superInterfaceName);
+               if(resolvedType.length == 0 || 
resolvedType == null) {
+                   System.out.println("Error: Failed 
to resolve superinterface "+superInterfaceName);
+               } else {
+                   IType superInterface = 
type.getJavaProject().findType(Signature.toQualifiedName(resolvedType[0]), 
monitor);
+                   if(superInterface != null)
+                       
writeImports(superInterface, imports, monitor, true);
+                   else // TODO Probably should be 
using eclipse's error reporting system ...
+                       
System.out.println("Warning: Couldn't find interface "+superInterfaceName);
+               }
+           }
+       }
    }
 }


Original issue reported on code.google.com by [email protected] on 27 Oct 2007 at 10:06

Hot-deployment runs into infinite loop

A GWT web module has been compiled and published. A target server (Tomcat
5.5.x) is running the deployed modules.

When changing any code within Java (main class), the Java sources will be
compiled, a compile and publish of "all" GWT web modules will be started
(because I published 3 projects onto the server).

Then: the compile and publish is running into an endless loop. Only chance
to stop is to stop the running server. Even if server has been stopped, the
compile and publish is running in an endless loop, and to to be stopped
from progress view.

GWT Tooling

Version: 1.1.0.200609181006
Build id: 1.1 BETA3

Original issue reported on code.google.com by [email protected] on 6 Oct 2006 at 12:25

Classpath for GWT compiler must put GWT jars at begin to avoid failures due to conflict with TomCat jars

What steps will reproduce the problem?
1. Publish

What is the expected output?
Works.

What do you see instead?
Silent failure of the compiler.
Invoking the compiler in the same way that the plugin does results in:
java.lang.NoSuchMethodError:
org.eclipse.jdt.internal.compiler.CompilationResult.getErrors()[Lorg/eclipse/jdt
/core/compiler/IProblem;

The reason is that both GWT and Tomcat jars include a copy of the Eclipse
compiler.
Putting the GWT jars at the start of the classpath will cause the GWT
version to take precedence and avoids the problems

Original issue reported on code.google.com by [email protected] on 28 Apr 2007 at 11:45

Need to compile with Java 5 class level in order to support MacOSX JVM

What steps will reproduce the problem?
1. Install Eclipse Europa Winter JEE
2. Install GWT Tooling plugin from update site
3. Go to Eclipse > Preferences menu then click GWT

What is the expected output? What do you see instead?
The configuration panel where one can specify the location of GWT directory.

What version of the product are you using? On what operating system?
Mac OS X Leopard 10.5.2, Eclipse Europa Winter JEE, JVM 1.5.0 (Mac OS X
default)

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 19 Mar 2008 at 12:16

Rename *Async interface when renaming RemoteService

What steps will reproduce the problem?
1. Right-click on an interface that extends RemoteService, let's say
MyRemoteService.
2. Select Refactor->Rename
3. Choose NewRemoteService and press enter

What is the expected output?
gwt-tooling should rename the Async version of the interface to
NewRemoteServiceAsync.

What do you see instead?
Instead it creates NewRemoteServiceAsync but leaves behind
MyRemoveServiceAsync.

What version of the product are you using? On what operating system?
Version: 1.1.0.200608212145
Build id: 1.1 beta2
OS: Fedora Core 5 (Linux), GTK2 2.8.20

Please provide any additional information below.
It's not clear whether this is a bug or an enhancement request. If keeping
both interfaces in sync is not a current feature, then it's the latter.

Original issue reported on code.google.com by ismaelj on 24 Aug 2006 at 1:56

Apply access rules to limit the set of visible JRE classes when classpath is updated

It would be nice, to configure a GWT based project (or at minimum the
client part of it) for a specific execution environment, which corresponds
to GWT capabilities on client. So, you dont have to wait until runtime to
see any problems with missing classes, JDK compatibility issues etc.

GWT-Tooling should contribute to Platform extension point the known GWT
version, based on Google specification.

Any comments ?

Original issue reported on code.google.com by [email protected] on 31 Oct 2006 at 6:29

Compile and Publish compiles always with »-style &quot;PRETTY&quot;«

It would be nice to be able to set the style.
An easy way to improve this would be to select an style in the 
preferences dialog where the path to gwt is set or to make a selection 
each time you want to publish.
I don't know what is better but both is better than "args.add("-style"); 
args.add("PRETTY");" in 
org.eclipseguru.gwt.core.builder.GwtProjectPublisher ;)



Original issue reported on code.google.com by [email protected] on 23 Oct 2006 at 9:20

Changing GWT directory does not update classpath of existing projects

What steps will reproduce the problem?
1. Create a project using GWT 1.1.0
2. Change the GWT directory to another installation, eg: GWT 1.1.10
3. The project's classpath is not updated to use the new location.

What is the expected output? What do you see instead?
- The "Google Web Toolkit" classpath container is pointing to the old
location. It should be using the new directory.

What version of the product are you using? On what operating system?
- GWT Tooling 1.1.0.200608212145, Eclipse 3.2, WTP 1.5, Windows XP SP2.

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 26 Aug 2006 at 5:31

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.