Author: schorlet Date: 2010-02-05 22:58:45 +0100 (Fri, 05 Feb 2010) New Revision: 378 Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittySearchEngine.java wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyServiceInMemory.java wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java Log: ajout d'une methode delete sur WikittySearchEngine permettant de supprimer un document sans aucune autre forme de traitement Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittySearchEngine.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittySearchEngine.java 2010-02-05 09:36:36 UTC (rev 377) +++ wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittySearchEngine.java 2010-02-05 21:58:45 UTC (rev 378) @@ -73,6 +73,14 @@ public List<Command> delete(WikittyTransaction transaction, List<String> idList) throws WikittyException; + /** + * Delete all object with idList argument. + * + * throw an exception + * @param idList + */ + public void delete(List<String> idList) throws WikittyException; + public PagedResult<String> findAllByCriteria(Criteria criteria); /** Modified: wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyServiceInMemory.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyServiceInMemory.java 2010-02-05 09:36:36 UTC (rev 377) +++ wikengo_core-wikitty/wikengo_core-wikitty-api/src/main/java/org/sharengo/wikitty/WikittyServiceInMemory.java 2010-02-05 21:58:45 UTC (rev 378) @@ -265,6 +265,10 @@ return new ArrayList<Command>(); } + public void delete(List<String> idList) throws WikittyException { + // do nothing + } + public boolean checkRestriction( Restriction restriction, Wikitty w ) { if ( restriction instanceof BinaryOperator ) { BinaryOperator binOp = (BinaryOperator) restriction; @@ -299,13 +303,13 @@ break; case ENDS_WITH: if ( t.getType() != TYPE.STRING ) - throw new WikittyException("Can't search for contents that 'ends with' on attribute type different of String. " + + throw new WikittyException("Can't search for contents that 'ends with' on attribute type different of String. " + "Attribute " + fqfieldName + " is " + t.getType().name() ); checked = ((String) o).endsWith( (String) value ); break; case STARTS_WITH: if ( t.getType() != TYPE.STRING ) - throw new WikittyException("Can't search for contents that 'starts with' on attribute type different of String. " + + throw new WikittyException("Can't search for contents that 'starts with' on attribute type different of String. " + "Attribute " + fqfieldName + " is " + t.getType().name() ); checked = ((String) o).startsWith( (String) value ); break; @@ -435,4 +439,4 @@ } } -} \ No newline at end of file +} Modified: wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java =================================================================== --- wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java 2010-02-05 09:36:36 UTC (rev 377) +++ wikengo_core-wikitty/wikengo_core-wikitty-solr-impl/src/main/java/org/sharengo/wikitty/solr/WikittySearchEngineSolr.java 2010-02-05 21:58:45 UTC (rev 378) @@ -27,8 +27,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Set; -import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.solr.client.solrj.SolrQuery; @@ -41,14 +41,10 @@ import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.core.CoreContainer; -import org.apache.solr.core.CoreDescriptor; -import org.apache.solr.core.SolrConfig; -import org.apache.solr.core.SolrCore; import org.nuiton.util.FileUtil; import org.sharengo.wikitty.Criteria; import org.sharengo.wikitty.FacetTopic; import org.sharengo.wikitty.FieldType; -import org.sharengo.wikitty.FieldType.TYPE; import org.sharengo.wikitty.PagedResult; import org.sharengo.wikitty.TreeNode; import org.sharengo.wikitty.UpdateResponse; @@ -58,6 +54,7 @@ import org.sharengo.wikitty.WikittyExtensionStorage; import org.sharengo.wikitty.WikittySearchEngine; import org.sharengo.wikitty.WikittyTransaction; +import org.sharengo.wikitty.FieldType.TYPE; import org.sharengo.wikitty.search.Element; import org.sharengo.wikitty.search.Search; @@ -347,6 +344,17 @@ return result; } + public void delete(List<String> idList) throws WikittyException { + try { + for (String id : idList) { + solrServer.deleteById(id); + } + solrServer.commit(); + } catch (Exception e) { + throw new WikittyException(e); + } + } + public UpdateResponse commit(WikittyTransaction transaction, List<Command> wikittyIndexationCommandList) { try {