package gw.solr.consistency uses gw.pl.util.JSONMultiObject uses gw.solr.utils.PLSolrUtils uses org.apache.solr.client.solrj.request.UpdateRequest uses org.json.simple.JSONObject uses java.lang.Exception uses java.util.Collection @ReadOnly class DeleteProcessor extends ConsistencyProcessor { construct(msgObj : JSONMultiObject, tracker : ConsistencyTracker) { super(msgObj, new JSONMultiObject(), PLSolrUtils.SOLR_ID_TAG, tracker) } override function children() : Collection { return (_msgObj as JSONMultiObject).getAll(PLSolrUtils.SOLR_DELETE) } override function addChild( ur : UpdateRequest, deleteObj : JSONObject ) { if(deleteObj.get("id") != null) { ur.deleteById(deleteObj.get("id") as String) } else if(deleteObj.get("query") != null) { ur.deleteByQuery(deleteObj.get("query") as String) } else { throw new Exception("Unknown delete type for document : " + deleteObj.toJSONString()) } } }