You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

RewriteJQueryFilter.java 1.2KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.vaadin.test.dependencyrewriteaddon;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Locale;
  5. import com.vaadin.server.DependencyFilter;
  6. import com.vaadin.server.ServiceInitEvent;
  7. import com.vaadin.server.VaadinServiceInitListener;
  8. import com.vaadin.ui.Dependency;
  9. import com.vaadin.ui.Dependency.Type;
  10. public class RewriteJQueryFilter
  11. implements DependencyFilter, VaadinServiceInitListener {
  12. @Override
  13. public List<Dependency> filter(List<Dependency> dependencies,
  14. FilterContext filterContext) {
  15. List<Dependency> filtered = new ArrayList<>();
  16. for (Dependency dependency : dependencies) {
  17. if (dependency.getType() == Type.JAVASCRIPT && dependency.getUrl()
  18. .toLowerCase(Locale.ENGLISH).contains("jquery")) {
  19. filtered.add(
  20. new Dependency(Type.JAVASCRIPT, "vaadin://jquery.js"));
  21. } else {
  22. filtered.add(dependency);
  23. }
  24. }
  25. return filtered;
  26. }
  27. // for compactness, implementing the init listener here
  28. @Override
  29. public void serviceInit(ServiceInitEvent event) {
  30. event.addDependencyFilter(this);
  31. }
  32. }