Thank you for integrating it in the next version. Issue http://code.google.com/p/gwt-maven/issues/detail?id=189 created. I also attached my diff.
thanks, stephan On 26 Jan., 11:59, Charlie Collins <[email protected]> wrote: > GWT-Maven doesn't know about "rename-to," as you have noted and > addressed. That is a relatively new element, I think (maybe with GWT > 1.5.2? - anyway, whenever it happened, GWT-Maven doesn't support it, > yet). > > Can you note this as an issue in the tracker please and attach your > patch. (By the way, great work on the patch, glad you got it > rolling.) The next time I get a chance to work on it I will apply your > patch and make sure it's part of the next release. > > thanks > > On Jan 26, 4:46 am, smcdonald <[email protected]> wrote: > > > Hi all, > > > I've a problem with the generated web.xml by the gwt maven plugin. > > > We have a module called 'com.pirobase.pim.gwt.dashboard' which > > inherits widgets (also our code) which inherits services (also our > > code). If I compile the dashboard application the web.xml will be > > merged. In the pom.xml the parameter 'webXmlServletPathAsIs' is set to > > 'false'. > > > The merged web.xml contains after the build entries like: > > <servlet-mapping> > > <servlet-name>com.pirobase.pim.gwt.servlets.ItemGridServlet/ > > com.pirobase.pim.gwt.dashboard/ItemGridServlet</servlet-name> > > <url-pattern>/com.pirobase.pim.gwt.dashboard/ItemGridServlet</url- > > pattern> > > </servlet-mapping> > > > This is ok up to this point. Now I wanted to created a ear file for > > use it on a jboss. Because the name was too long i renamed the module > > to 'dashboard' with the rename-to attribute in the gwt.xml: > > <?xml version="1.0" encoding="UTF-8" standalone="no"?> > > <module rename-to="dashboard"> > > ... > > </module> > > > The problem is now, that this dont affect the merged web.xml and the > > context path of the application is not the same like the ones from the > > mapped servlets => the application doesn't work. > > > For testing purpose I made some changes in the class > > GwtWebInfProcessor: > > > Index: src/main/java/com/totsp/mavenplugin/gwt/support/ > > GwtWebInfProcessor.java > > =================================================================== > > --- src/main/java/com/totsp/mavenplugin/gwt/support/ > > GwtWebInfProcessor.java (Revision 955) > > +++ src/main/java/com/totsp/mavenplugin/gwt/support/ > > GwtWebInfProcessor.java (Arbeitskopie) > > @@ -25,6 +25,7 @@ > > import java.util.HashSet; > > import java.util.List; > > > +import org.jdom.Attribute; > > import org.jdom.Comment; > > import org.jdom.Content; > > import org.jdom.Document; > > @@ -73,7 +74,7 @@ > > throw new Exception("Unable to locate module definition > > file: " + moduleName.replace('.', '/') + ".gwt.xml"); > > } > > > - this.servletDescriptors = this.getGwtServletDescriptors > > (moduleName, webXmlServletPath); > > + this.servletDescriptors = this.getGwtServletDescriptors > > (moduleName, webXmlServletPath, null); > > > if (this.servletDescriptors.size() == 0) { > > throw new ExitException("No servlets found."); > > @@ -103,7 +104,7 @@ > > > this.destination = new File(targetWebXml); > > > - this.servletDescriptors = this.getGwtServletDescriptors(null, > > webXmlServletPath); > > + this.servletDescriptors = this.getGwtServletDescriptors(null, > > webXmlServletPath, null); > > > if (this.servletDescriptors.size() == 0) { > > throw new ExitException("No servlets found."); > > @@ -117,7 +118,7 @@ > > * @param webXmlServletPath > > * @return > > */ > > - protected List getGwtServletDescriptors(String module, boolean > > webXmlServletPath) throws IOException, JDOMException { > > + protected List getGwtServletDescriptors(String module, boolean > > webXmlServletPath, String servletPathModuleName) throws IOException, > > JDOMException { > > > ///System.out.println("GwtWebInfProcessor > > getGwtServletDescriptors (module - " + module + ")"); > > > @@ -161,11 +162,27 @@ > > > Element element = document.getRootElement(); > > List inherits = element.getChildren("inherits"); > > - > > + > > + if (servletPathModuleName == null) { > > + Attribute renamedModuleName = element.getAttribute("rename- > > to"); > > + > > + if (renamedModuleName != null) { > > + servletPathModuleName = renamedModuleName.getValue(); > > + } else { > > + servletPathModuleName = this.moduleName; > > + } > > + } > > + > > for (int i = 0; (inherits != null) && (i < inherits.size()); i+ > > +) { > > Element inherit = (Element) inherits.get(i); > > - if (!checkedModules.contains(inherit.getAttributeValue > > ("name"))) > > - servletElements.addAll(this.getGwtServletDescriptors > > (inherit.getAttributeValue("name"), webXmlServletPath)); > > + if (!checkedModules.contains(inherit.getAttributeValue > > ("name"))) { > > + servletElements.addAll( > > + this.getGwtServletDescriptors( > > + inherit.getAttributeValue("name"), > > + webXmlServletPath, > > + servletPathModuleName != null ? > > servletPathModuleName : inherit.getAttributeValue("name") > > + )); > > + } > > } > > > List servlets = element.getChildren("servlet"); > > @@ -178,7 +195,7 @@ > > if (webXmlServletPath) { > > servletPath = servlet.getAttributeValue("path"); > > } else { > > - servletPath = "/" + this.moduleName + > > servlet.getAttributeValue("path"); > > + servletPath = "/" + servletPathModuleName + > > servlet.getAttributeValue("path"); > > } > > String servletClass = servlet.getAttributeValue("class"); > > ServletDescriptor servletDesc = new ServletDescriptor > > (servletPath, servletClass); > > > I checked if the master gwt.xml has a rename-to attributes and read > > the new module name. > > This name is used in all recursive method calls for generate the > > servlet-mapping entry. > > With this web.xml I can successfull deploy my application in any > > application server. > > > If this change is ok it would by nice if someone can integrate it. Or > > is there another way > > for merge the web.xml so the renamed module name is part of the > > mapping? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "gwt-maven" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/gwt-maven?hl=en -~----------~----~----~----~------~----~------~--~---
