Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.dotmarketing.db;
- import com.dotcms.services.VanityUrlServices;
- import java.util.ArrayList;
- import java.util.List;
- import org.elasticsearch.action.bulk.BulkRequestBuilder;
- import com.dotmarketing.business.APILocator;
- import com.dotmarketing.business.DotStateException;
- import com.dotmarketing.portlets.contentlet.model.Contentlet;
- public abstract class ReindexRunnable extends DotRunnable {
- public enum Action{ADDING, REMOVING};
- private final Action action;
- private final List<Contentlet> contentToIndex;
- private final BulkRequestBuilder bulk;
- private boolean reindexOnly;
- public List<Contentlet> getReindexIds() {
- return contentToIndex;
- }
- public ReindexRunnable(List<Contentlet> reindexIds, Action action, BulkRequestBuilder bulk, boolean reindexOnly) {
- super();
- this.contentToIndex = reindexIds;
- this.action = action;
- this.bulk = bulk;
- this.reindexOnly = reindexOnly;
- }
- public ReindexRunnable(Contentlet reindexId, Action action, BulkRequestBuilder bulk) {
- super();
- contentToIndex = new ArrayList<Contentlet>();
- contentToIndex.add(reindexId);
- this.action = action;
- this.bulk = bulk;
- }
- public Action getAction() {
- return action;
- }
- public void run() {
- try {
- if(action.equals(Action.ADDING)){
- APILocator.getContentletIndexAPI().indexContentList(contentToIndex, bulk, reindexOnly);
- for(Contentlet contentlet : contentToIndex){
- if(contentlet.isVanityUrl()){
- APILocator.getContentletAPI().isInodeIndexed(contentlet.getInode(),contentlet.isLive());
- VanityUrlServices.getInstance().invalidateVanityUrl(contentlet);
- }
- }
- }
- else{
- throw new DotStateException("REMOVE ACTION NEEDS TO OVERRIDE THE run() method");
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement