package com.senseidb.clue.commands; import java.io.PrintStream; import java.util.Map; import org.apache.lucene.index.IndexWriter; import com.senseidb.clue.ClueContext; public class DeleteUserCommitData extends ClueCommand { public DeleteUserCommitData(ClueContext ctx) { super(ctx); } @Override public String getName() { return "deletecommitdata"; } @Override public String help() { return "Deletes user commit data by key"; } @Override public void execute(String[] args, PrintStream out) throws Exception { IndexWriter writer = ctx.getIndexWriter(); if (writer != null) { if (args.length > 0) { Map<String, String> commitData = writer.getCommitData(); if (commitData != null && commitData.size() > 0) { if (commitData.remove(args[0]) != null) { writer.setCommitData(commitData); writer.commit(); ctx.refreshReader(); out.println("commit data: " + args[0] +" removed."); } else { out.println("no commit data with the key: " + args[0] +", no action taken"); } } else { out.println("no commit data found, no action taken"); } } else { out.println("no delete key given, no action taken"); } } else { out.println("unable to open writer, index is in readonly mode"); } } }