Etienne, awesome! Thanks a lot for sharing! It just works. Slava, you just need to add the linker to your gwt.xml (see http://code.google.com/webtoolkit/doc/1.6/DevGuideOrganizingProjects.html)
On Fri, Sep 17, 2010 at 11:46 AM, Etienne Lacazedieu < etienne.lacazed...@gmail.com> wrote: > I wrote such a Linker : > > /** > * This GWT linker creates a properties file which can be used to > resolve Permutation Strong name given UserAgent and locale. > * > * @author Etienne Lacazedieu > * > */ > @LinkerOrder(Order.PRE) > public class StrongNameOracleLinker extends AbstractLinker { > public static final String STRONGNAME_FILE = "permutation.properties"; > > @Override > public String getDescription() { > return "PermutationStrongName Oracle linker"; > } > > @Override > public ArtifactSet link(TreeLogger logger, LinkerContext context, > ArtifactSet artifacts) throws UnableToCompleteException { > artifacts = new ArtifactSet(artifacts); > ByteArrayOutputStream out = new ByteArrayOutputStream(); > > String permutation = null; > String locale = null; > String userAgent = null; > SelectionProperty selectionProperty = null; > > Properties props = new Properties(); > > for (CompilationResult result : > artifacts.find(CompilationResult.class)) { > permutation = result.getStrongName(); > > SortedSet<SortedMap<SelectionProperty, String>> > propertiesMap = result.getPropertyMap(); > for (SortedMap<SelectionProperty, String> sm : propertiesMap) { > for (Map.Entry<SelectionProperty, String> e : sm.entrySet()) > { > selectionProperty = e.getKey(); > if ("locale".equals(selectionProperty.getName())) { > locale = e.getValue(); > } > if ("user.agent".equals(selectionProperty.getName())) { > userAgent = e.getValue(); > } > } > } > props.setProperty(userAgent + "." + locale, permutation); > } > try { > props.store(out, "StrongNameOracle properties file"); > } catch (IOException e) { // Should generally not happen > logger.log(TreeLogger.ERROR, "Unable to store deRPC data", e); > throw new UnableToCompleteException(); > } > SyntheticArtifact a = emitBytes(logger, out.toByteArray(), > STRONGNAME_FILE); > artifacts.add(a); > > return artifacts; > } > > } > > > > 2010/9/17 Helder Suzuki <heldersuz...@gmail.com>: > > +1 > > > > On Aug 4, 9:17 am, André Moraes <andr...@gmail.com> wrote: > >> Hi, > >> > >> I saw the presentation of the GWT team and they talked about sending the > >> permutation without sending first the selection script. > >> > >> I can read the HTTP headers and find-out what is the browser which is > making > >> the request, this is the "easy" part. > >> > >> But how can I find-out which file was generated by which permutation in > the > >> GWT compiler pipeline? I belive that I will need to write a linker to > get > >> those files, but how? > >> > >> Thanks. > >> > >> -- > >> André Moraes > >> Analista de Desenvolvimento de Sistemas > >> andr...@gmail.comhttp://andredevchannel.blogspot.com/ > > > > -- > > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > > To post to this group, send email to google-web-toolkit@googlegroups.com > . > > To unsubscribe from this group, send email to > google-web-toolkit+unsubscr...@googlegroups.com<google-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<google-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.