Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2014
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. package app.chameleon.sample.linker;
  2. import com.google.gwt.core.ext.LinkerContext;
  3. import com.google.gwt.core.ext.TreeLogger;
  4. import com.google.gwt.core.ext.UnableToCompleteException;
  5. import com.google.gwt.core.ext.linker.AbstractLinker;
  6. import com.google.gwt.core.ext.linker.ArtifactSet;
  7. import com.google.gwt.core.ext.linker.EmittedArtifact;
  8. import com.google.gwt.core.ext.linker.LinkerOrder;
  9. import com.google.gwt.core.ext.linker.LinkerOrder.Order;
  10.  
  11. @LinkerOrder(Order.POST)
  12. public class AppCacheLinker extends AbstractLinker {
  13.  
  14. @Override
  15. public String getDescription() {
  16. return "Offline Linker";
  17. }
  18.  
  19. @Override
  20. public ArtifactSet link(TreeLogger logger, LinkerContext context,ArtifactSet artifacts) throws UnableToCompleteException {
  21. ArtifactSet artifactset = new ArtifactSet(artifacts);
  22.  
  23. StringBuilder builder= new StringBuilder("CACHE MANIFESTn");
  24. builder.append("# Cache Version 10n");
  25. builder.append("CACHE:n");
  26.  
  27. builder.append("/demo/ChameleonSample.cssn");
  28. builder.append("/demo/ChameleonSample.htmln");
  29. for(EmittedArtifact emitted: artifacts.find(EmittedArtifact.class))
  30. {
  31. if(emitted.isPrivate())
  32. {
  33. continue;
  34. }
  35. if(emitted.getPartialPath().endsWith(".symbolMap"))continue;
  36. if(emitted.getPartialPath().endsWith(".txt"))continue;
  37. builder.append("/demo/chameleonsample/" + emitted.getPartialPath()).append("n");
  38. }
  39. builder.append("/demo/chameleonsample/hosted.htmln");
  40. builder.append("/demo/chameleonsample/chameleonsample.nocache.jsn");
  41. builder.append("NETWORK:n");
  42. builder.append("*n");
  43. EmittedArtifact manifest= emitString(logger, builder.toString(), "offline.appcache");
  44. artifactset.add(manifest);
  45. return artifactset;
  46. }
  47. }
  48.  
  49. <html manifest="chameleonsample/offline.appcache">
  50.  
  51. <mime-mapping>
  52. <extension>appcache</extension>
  53. <mime-type>text/cache-manifest</mime-type>
  54. </mime-mapping>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement