Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. package com.dotmarketing.db;
  2.  
  3. import com.dotcms.services.VanityUrlServices;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import org.elasticsearch.action.bulk.BulkRequestBuilder;
  8.  
  9. import com.dotmarketing.business.APILocator;
  10. import com.dotmarketing.business.DotStateException;
  11. import com.dotmarketing.portlets.contentlet.model.Contentlet;
  12.  
  13. public abstract class ReindexRunnable extends DotRunnable {
  14.  
  15. public enum Action{ADDING, REMOVING};
  16.  
  17.  
  18. private final Action action;
  19. private final List<Contentlet> contentToIndex;
  20. private final BulkRequestBuilder bulk;
  21. private boolean reindexOnly;
  22.  
  23. public List<Contentlet> getReindexIds() {
  24. return contentToIndex;
  25. }
  26.  
  27. public ReindexRunnable(List<Contentlet> reindexIds, Action action, BulkRequestBuilder bulk, boolean reindexOnly) {
  28. super();
  29. this.contentToIndex = reindexIds;
  30. this.action = action;
  31. this.bulk = bulk;
  32. this.reindexOnly = reindexOnly;
  33. }
  34.  
  35. public ReindexRunnable(Contentlet reindexId, Action action, BulkRequestBuilder bulk) {
  36. super();
  37.  
  38. contentToIndex = new ArrayList<Contentlet>();
  39. contentToIndex.add(reindexId);
  40. this.action = action;
  41. this.bulk = bulk;
  42. }
  43.  
  44. public Action getAction() {
  45. return action;
  46. }
  47.  
  48. public void run() {
  49.  
  50. try {
  51. if(action.equals(Action.ADDING)){
  52. APILocator.getContentletIndexAPI().indexContentList(contentToIndex, bulk, reindexOnly);
  53. for(Contentlet contentlet : contentToIndex){
  54. if(contentlet.isVanityUrl()){
  55. APILocator.getContentletAPI().isInodeIndexed(contentlet.getInode(),contentlet.isLive());
  56. VanityUrlServices.getInstance().invalidateVanityUrl(contentlet);
  57. }
  58. }
  59. }
  60. else{
  61. throw new DotStateException("REMOVE ACTION NEEDS TO OVERRIDE THE run() method");
  62. }
  63. } catch (Exception e) {
  64. throw new RuntimeException(e);
  65. }
  66. }
  67.  
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement