Author: bpoussin Date: 2012-02-04 13:51:10 +0100 (Sat, 04 Feb 2012) New Revision: 1421 Url: http://nuiton.org/repositories/revision/wikitty/1421 Log: amelioration de l'implantation in memory - support des ElementField avec le type Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java 2012-02-04 12:19:52 UTC (rev 1420) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/WikittyExtension.java 2012-02-04 12:51:10 UTC (rev 1421) @@ -264,7 +264,7 @@ /** * Extract field name from fully qualified field name (suppression [n/m] if - * field is collection + * field is collection) and suppress TYPE if needed * * @param fqFieldName fully qualified field name like 'WikittyUser.login' * @return return field name. Example 'login' Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java 2012-02-04 12:19:52 UTC (rev 1420) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/storage/WikittySearchEngineInMemory.java 2012-02-04 12:51:10 UTC (rev 1421) @@ -51,6 +51,7 @@ import org.nuiton.wikitty.WikittyException; import org.nuiton.wikitty.WikittyUtil; import org.nuiton.wikitty.entities.ElementExtension; +import org.nuiton.wikitty.entities.ElementField; import org.nuiton.wikitty.entities.ElementId; import org.nuiton.wikitty.entities.FieldType; import org.nuiton.wikitty.entities.Wikitty; @@ -803,6 +804,16 @@ */ protected boolean check(Predicate predicate, org.nuiton.wikitty.entities.Element element, Object expected) { + if (element instanceof ElementField) { + String fqf = element.getValue(); + // suppression du type dans l'element, car on en a pas besoin + String extName = WikittyUtil.getExtensionNameFromFQFieldName(fqf); + String fieldName = WikittyUtil.getFieldNameFromFQFieldName(fqf); + // on reconstruit fqf, sans l'optionnel 3eme composantes (Type) + fqf = WikittyUtil.getFQFieldName(extName, fieldName); + element = org.nuiton.wikitty.entities.Element.get(fqf); + } + boolean result = false; Map<String, Collection> fieldValues = new HashMap<String, Collection>(); Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java =================================================================== --- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-02-04 12:19:52 UTC (rev 1420) +++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-02-04 12:51:10 UTC (rev 1421) @@ -1410,8 +1410,6 @@ @Test public void testQueryMarkerWilcardEquals() { - assumeTrueSearchEngineCanRunTest(); // wildcards - WikittyQuery query1 = new WikittyQueryMaker().eq(Product.FQ_FIELD_PRODUCT_NAME, "Lanfeust").end(); WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1); Assert.assertEquals(1, results1.getTotalResult()); @@ -1433,8 +1431,6 @@ @Test public void testQueryParserWilcardEquals() { - assumeTrueSearchEngineCanRunTest(); // wildcard - WikittyQuery query1 = WikittyQueryParser.parse("Product.name=Lanfeust"); WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1); Assert.assertEquals(1, results1.getTotalResult());