Wikitty-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
January 2012
- 4 participants
- 128 discussions
r1369 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 15:55:04 +0100 (Wed, 25 Jan 2012)
New Revision: 1369
Url: http://nuiton.org/repositories/revision/wikitty/1369
Log:
Add new contructor to create extension with requires.
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ExtensionFactory.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ExtensionFactory.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ExtensionFactory.java 2012-01-25 14:21:26 UTC (rev 1368)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ExtensionFactory.java 2012-01-25 14:55:04 UTC (rev 1369)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
+ * Copyright (C) 2009 - 2012 CodeLutin, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -32,28 +32,37 @@
import org.nuiton.wikitty.entities.WikittyTypes;
public class ExtensionFactory {
-
+
protected String name;
protected String version;
protected Map<String, String> tagValues;
protected String requiredExtension;
protected LinkedHashMap<String, FieldType> fields;
-
+
protected ExtensionFactory(String name, String version) {
this.name = name;
this.version = version;
this.fields = new LinkedHashMap<String, FieldType>();
}
-
+
+ protected ExtensionFactory(String name, String version, String requiredExtension) {
+ this(name, version);
+ this.requiredExtension = requiredExtension;
+ }
+
public static ExtensionFactory create(String name, String version) {
return new ExtensionFactory(name, version);
}
-
+
+ public static ExtensionFactory create(String name, String version, String requiredExtension) {
+ return new ExtensionFactory(name, version, requiredExtension);
+ }
+
public FieldFactory addField(String name, WikittyTypes fieldType) {
return new FieldFactory(this, name, fieldType);
}
-
+
public WikittyExtension extension() {
WikittyExtension ext = new WikittyExtension(
name, version, tagValues, requiredExtension, fields);
@@ -80,5 +89,4 @@
protected void add(String fieldName, FieldType fieldType) {
fields.put(fieldName, fieldType);
}
-
}
1
0
r1368 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . conform
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 15:21:26 +0100 (Wed, 25 Jan 2012)
New Revision: 1368
Url: http://nuiton.org/repositories/revision/wikitty/1368
Log:
Move benchmark class
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/PerformanceBenchMark.java
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
Copied: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/PerformanceBenchMark.java (from rev 1356, trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java)
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/PerformanceBenchMark.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/PerformanceBenchMark.java 2012-01-25 14:21:26 UTC (rev 1368)
@@ -0,0 +1,97 @@
+/*
+ * #%L
+ * Wikitty :: api
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2012 CodeLutin, Benjamin Poussin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package org.nuiton.wikitty;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Random;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Test;
+import org.nuiton.wikitty.entities.FieldType;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.entities.WikittyTypes;
+
+/**
+ * This class is <strong>NOT</strong> a test. It's a benchlark that
+ * computes values and log them. This class is named properly to
+ * prevent any test Runner to run it.
+ *
+ * @author ruchaud
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class PerformanceBenchMark extends WikittyClientAbstractTest {
+
+ protected final static Log log = LogFactory.getLog(PerformanceBenchMark.class);
+
+ protected final static int WIKITTY_SIZE = 10000;
+
+ @Test
+ public void testPerformanceWikitty() throws Exception {
+ testPerformanceWikitty(3);
+ testPerformanceWikitty(50);
+ testPerformanceWikitty(100);
+ }
+
+ protected void testPerformanceWikitty(int fieldSize) {
+ WikittyExtension extension = new WikittyExtension("Performance" + fieldSize);
+ for (int i = 0; i < fieldSize; i++) {
+ FieldType fieldType = new FieldType(WikittyTypes.STRING, 1, 1);
+ extension.addField("field" + i, fieldType);
+ }
+ wikittyClient.storeExtension(Arrays.asList(extension));
+
+ List<Wikitty> wikitties = new ArrayList<Wikitty>(WIKITTY_SIZE);
+ for (int i = 0; i < WIKITTY_SIZE; i++) {
+ Wikitty wikitty = new WikittyImpl("Performance" + fieldSize + "id" + i);
+ wikitty.addExtension(extension);
+ for (int j = 0; j < fieldSize; j++) {
+ wikitty.setField("Performance" + fieldSize, "field" + j, "value" + j);
+ }
+ wikitties.add(wikitty);
+ }
+ long start = System.currentTimeMillis();
+ wikittyClient.storeWikitty(wikitties);
+ long end = System.currentTimeMillis();
+ log.info("[Performance" + fieldSize + "] Write times : " + ((end - start) / 1000) + "s");
+
+ Random random = new Random();
+ start = System.currentTimeMillis();
+ for (int i = 0; i < WIKITTY_SIZE; i++) {
+ int nextInt = random.nextInt(WIKITTY_SIZE);
+ wikittyClient.restore(Arrays.asList("Performance" + fieldSize + "id" + nextInt));
+ }
+ end = System.currentTimeMillis();
+ log.info("[Performance" + fieldSize + "] Read times : " + ((end - start) / 1000) + "s");
+ }
+}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2012-01-25 14:16:39 UTC (rev 1367)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2012-01-25 14:21:26 UTC (rev 1368)
@@ -1,118 +0,0 @@
-/*
- * #%L
- * Wikitty :: api
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>.
- * #L%
- */
-
-package org.nuiton.wikitty.conform;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Random;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.entities.FieldType;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.entities.WikittyImpl;
-import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.WikittyServiceFactory;
-import org.nuiton.wikitty.entities.WikittyTypes;
-
-/**
- * This class is <strong>NOT</strong> a test. It's a benchlark that
- * computes values and log them. This class is named properly to
- * prevent any test Runner to run it.
- *
- * @author ruchaud
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-public class PerformanceBenchMark {
-
- protected final static Log log = LogFactory.getLog(PerformanceBenchMark.class);
-
- protected final static int WIKITTY_SIZE = 10000;
-
- static protected WikittyService ws;
-
- @BeforeClass
- static public void loadWikittyService() throws Exception {
- ApplicationConfig config = WikittyConfig.getConfig(); // default config for in memory
-// String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
-// log.info(msg);
- ws = WikittyServiceFactory.buildWikittyService(config);
- }
-
- @Before
- public void clearStorage() throws Exception {
- ws.clear(null);
- }
-
- @Test
- public void testPerformanceWikitty() throws Exception {
- testPerformanceWikitty(3);
- testPerformanceWikitty(50);
- testPerformanceWikitty(100);
- }
-
- protected void testPerformanceWikitty(int fieldSize) {
- WikittyExtension extension = new WikittyExtension("Performance" + fieldSize);
- for (int i = 0; i < fieldSize; i++) {
- FieldType fieldType = new FieldType(WikittyTypes.STRING, 1, 1);
- extension.addField("field" + i, fieldType);
- }
- ws.storeExtension(null, Arrays.asList(extension));
-
- Collection<Wikitty> wikitties = new ArrayList<Wikitty>(WIKITTY_SIZE);
- for (int i = 0; i < WIKITTY_SIZE; i++) {
- Wikitty wikitty = new WikittyImpl("Performance" + fieldSize + "id" + i);
- wikitty.addExtension(extension);
- for (int j = 0; j < fieldSize; j++) {
- wikitty.setField("Performance" + fieldSize, "field" + j, "value" + j);
- }
- wikitties.add(wikitty);
- }
- long start = System.currentTimeMillis();
- ws.store(null, wikitties, false);
- long end = System.currentTimeMillis();
- log.info("[Performance" + fieldSize + "] Write times : " + ((end - start) / 1000) + "s");
-
- Random random = new Random();
- start = System.currentTimeMillis();
- for (int i = 0; i < WIKITTY_SIZE; i++) {
- int nextInt = random.nextInt(WIKITTY_SIZE);
- ws.restore(null, Arrays.asList("Performance" + fieldSize + "id" + nextInt));
- }
- end = System.currentTimeMillis();
- log.info("[Performance" + fieldSize + "] Read times : " + ((end - start) / 1000) + "s");
- }
-}
1
0
r1367 - in trunk/wikitty-api/src: main/java/org/nuiton/wikitty/entities test/java/org/nuiton/wikitty test/java/org/nuiton/wikitty/conform test/resources test/resources/csv test/resources/xml
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 15:16:39 +0100 (Wed, 25 Jan 2012)
New Revision: 1367
Url: http://nuiton.org/repositories/revision/wikitty/1367
Log:
Refactor import/export tests.
Added:
trunk/wikitty-api/src/test/resources/xml/
trunk/wikitty-api/src/test/resources/xml/importclient.xml
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ElementNode.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
trunk/wikitty-api/src/test/resources/csv/importclient.csv
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ElementNode.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ElementNode.java 2012-01-25 13:22:20 UTC (rev 1366)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/ElementNode.java 2012-01-25 14:16:39 UTC (rev 1367)
@@ -26,10 +26,9 @@
/**
* Represente un element pour les recherches sur les arbres. Vous devez utiliser
- * <li> {@link Element#NODE_BRANCH} utilise pour savoir si un objet est attache a un noeud ou un sous noeud
- * <li> {@link Element#NODE_ROOT} utilise pour creer une condition sur le noeud root de l'arbre
- * <li> {@link Element#NODE_PARENTS} utilise pour creer une condition sur un noeud ou un de ses peres
- * <li> {@link Element#NODE_DEPTH} utilise pour creer une condition sur la profondeur d'un noeud (root=1)
+ * <li> {@link ElementNode#FIELD_NODE_ROOT} utilise pour creer une condition sur le noeud root de l'arbre
+ * <li> {@link ElementNode#FIELD_NODE_PATH} utilise pour creer une condition sur un noeud ou un de ses peres
+ * <li> {@link ElementNode#FIELD_NODE_DEPTH} utilise pour creer une condition sur la profondeur d'un noeud (root=1)
* @author poussin
* @version $Revision$
*
@@ -49,6 +48,4 @@
protected ElementNode(String v) {
super(v);
}
-
-
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java 2012-01-25 13:22:20 UTC (rev 1366)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/entities/Wikitty.java 2012-01-25 14:16:39 UTC (rev 1367)
@@ -88,6 +88,7 @@
* Replace all field of current wikitty with field found in w.
* This two wikitty must have same id if force is false
* @param w wikitty where we take information
+ * @param force
*/
void replaceWith(Wikitty w, boolean force);
@@ -333,6 +334,8 @@
/**
* get the value of and field given its fqn, if this field doesn't exists
* null is returned
+ * @param fqFieldName
+ * @return
*/
Object getFqField(String fqFieldName);
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-25 13:22:20 UTC (rev 1366)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-25 14:16:39 UTC (rev 1367)
@@ -26,6 +26,8 @@
package org.nuiton.wikitty;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -52,10 +54,6 @@
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
-import org.nuiton.wikitty.search.Criteria;
-import org.nuiton.wikitty.search.PagedResult;
-import org.nuiton.wikitty.search.Search;
-import org.nuiton.wikitty.search.operators.Like;
import org.nuiton.wikitty.test.Category;
import org.nuiton.wikitty.test.Product;
@@ -154,8 +152,6 @@
*/
@Test
public void testExportXml() {
- assumeTrueSearchEngineCanRunTest(); // facets
-
WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, WikittyTreeNode.EXT_WIKITTYTREENODE).end();
String xmlExport = ieService.syncExportAllByQuery(FORMAT.XML, query);
@@ -169,6 +165,29 @@
}
/**
+ * Import le fichier importclient.xml qui correspond aux mêmes données
+ * que les fichiers importclient.csv et importtree*.csv.
+ *
+ * Après l'import on se retourve donc normalement avec les mêmes données
+ * que si l'on avait appelé la methode {@link #importClients()}.
+ * @throws IOException
+ */
+ @Test
+ public void testImportXml() throws IOException {
+ WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
+ InputStream is = WikittyClientTest.class.getResourceAsStream("/xml/importclient.xml");
+ InputStreamReader reader = new InputStreamReader(is);
+ ieService.syncImport(FORMAT.XML, reader);
+ reader.close();
+
+ Wikitty wClient = wikittyClient.restore("fbcc8aed-7f67-4e3c-a9aa-221373765f8d");
+ Assert.assertEquals("Entreprise dupont", wClient.getFieldAsString("Client", "name"));
+
+ WikittyTreeNode node = wikittyClient.restore(WikittyTreeNode.class, "0d13cb0b-bc06-431c-9438-7bcb357f45da");
+ Assert.assertEquals("MySubNode", node.getName());
+ }
+
+ /**
* Test le resultat attendu d'un export CSV.
*/
@Test
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2012-01-25 13:22:20 UTC (rev 1366)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2012-01-25 14:16:39 UTC (rev 1367)
@@ -1,190 +0,0 @@
-/*
- * #%L
- * Wikitty :: api
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>.
- * #L%
- */
-package org.nuiton.wikitty.conform;
-
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNotNull;
-import static junit.framework.Assert.assertTrue;
-import static junit.framework.Assert.fail;
-
-import java.io.ByteArrayInputStream;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Before;
-import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.search.Criteria;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.addons.WikittyImportExportService;
-import org.nuiton.wikitty.search.operators.Element;
-import org.nuiton.wikitty.search.Search;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-public class ImportExportTest extends AbstractTestConformance {
-
- private static Log log = LogFactory.getLog(ImportExportTest.class);
-
- protected WikittyImportExportService ieService;
-
- private ApplicationConfig config = null;
-
- @Override
- public ApplicationConfig getConfig() {
- if (config == null) {
- config = WikittyConfig.getConfig(); // default config for in memory
-// String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
-// log.info(msg);
- }
- return config;
- }
-
- @Before
- public void clearStorage() throws Exception {
- getProxy().clear();
- }
-
- protected WikittyImportExportService getImportExportService() {
- if (ieService == null) {
- ApplicationConfig config = WikittyConfig.getConfig();
- ieService = new WikittyImportExportService(
- config, null, getWikittyService());
- }
- return ieService;
- }
-
- @Test
- public void testExport() throws Exception {
- final List<Wikitty> wikitties = createSampleWikitty(getWikittyService());
-
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, AbstractTestConformance.EXTNAME).criteria();
- String result = getImportExportService().syncExportAllByCriteria(
- WikittyImportExportService.FORMAT.XML, criteria);
- log.debug("[XML] " + result);
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document document = builder.parse( new ByteArrayInputStream(result.getBytes()) );
-
- Node rootNode = document.getChildNodes().item(0);
- // check root node ...
- assertEquals("wikitty", rootNode.getNodeName());
-
- // check childs ...
- acceptNodeList(rootNode.getChildNodes(), new NodeVisitor() {
- public void visitNode( Node node, Map<String, String> attrs ) {
- String nodeName = node.getNodeName();
- if ( "extension".equals(nodeName) ) {
- assertEquals( "1.0", attrs.get("version") );
- assertEquals( "wikittyExt", attrs.get("name") );
- } else if ( "object".equals(nodeName) ) {
- Wikitty wikitty = null;
- String id = attrs.get("id");
- for ( Wikitty w : wikitties ) {
- if ( w.getId().equals(id) ) {
- wikitty = w; break;
- }
- }
- assertNotNull( wikitty );
- assertEquals( "1.0", attrs.get("version") );
- assertEquals( "wikittyExt[1.0]", attrs.get("extensions") );
- wikitties.remove( wikitty );
- } else {
- fail( "Node [" + node.getNodeName() + "] is neither an extension or an object" );
- }
-
- }
- });
-
- assertTrue( "some objects were not exported ...", wikitties.isEmpty() );
- }
-
- interface NodeVisitor {
- public void visitNode( Node node, Map<String, String> attributes );
- }
-
- private void acceptNodeList( NodeList nodeList, NodeVisitor visitor ) {
- int len = nodeList.getLength();
- Map<String, String> attrs = new HashMap<String, String>();
- for ( int i = 0; i < len; i ++) {
- attrs.clear();
- Node node = nodeList.item(i);
- if ( node.getNodeType() == Node.TEXT_NODE ) continue;
- NamedNodeMap map = node.getAttributes();
- if ( map != null ) {
- int attrLen = map.getLength();
- for( int j = 0; j < attrLen; j++ ) attrs.put(map.item(j).getNodeName(), map.item(j).getNodeValue());
- }
- visitor.visitNode( node, attrs );
- }
- }
-
- @Test
- public void testImport() throws Exception {
- String xml =
- "<wikitty>" +
- " <extension name='wikittyExt' version='1.0' requires=''>" +
- " <field>STRING fieldName0[0-1]</field>" +
- " <field>NUMERIC fieldName1[1-1]</field>" +
- " <field>DATE fieldName2[1-1]</field>" +
- " </extension>" +
- " <object id='f4ef949b-09e4-438f-b359-2a4332771c81' version='1.0' extensions='wikittyExt[1.0]'>" +
- " <wikittyExt.fieldName0>table</wikittyExt.fieldName0>" +
- " <wikittyExt.fieldName1>3300</wikittyExt.fieldName1>" +
- " <wikittyExt.fieldName2>1982-01-22T23:00:00.000+0000Z</wikittyExt.fieldName2>" +
- " </object>" +
- " <object id='7ca86742-5957-4659-b12f-4915cbef9193' version='1.0' extensions='wikittyExt[1.0]'>" +
- " <wikittyExt.fieldName0>chaise</wikittyExt.fieldName0>" +
- " <wikittyExt.fieldName1>113311</wikittyExt.fieldName1>" +
- " <wikittyExt.fieldName2>2009-09-25T22:00:00.000+0000Z</wikittyExt.fieldName2>" +
- " </object>" +
- " <object id='77d7640c-573d-421c-a7e9-9b70bd025983' version='1.0' extensions='wikittyExt[1.0]'>" +
- " <wikittyExt.fieldName0>bureau</wikittyExt.fieldName0>" +
- " <wikittyExt.fieldName1>223322</wikittyExt.fieldName1>" +
- " <wikittyExt.fieldName2>2029-12-24T23:00:00.000+0000Z</wikittyExt.fieldName2>" +
- " </object>" +
- "</wikitty>";
-
- getImportExportService().syncImport(WikittyImportExportService.FORMAT.XML, xml);
-
- String[] ids = new String[] {
- "f4ef949b-09e4-438f-b359-2a4332771c81",
- "7ca86742-5957-4659-b12f-4915cbef9193",
- "77d7640c-573d-421c-a7e9-9b70bd025983"
- };
- List<Wikitty> wikitties = getProxy().restore(Arrays.asList(ids));
- assertEquals(3, wikitties.size());
- }
-}
Modified: trunk/wikitty-api/src/test/resources/csv/importclient.csv
===================================================================
--- trunk/wikitty-api/src/test/resources/csv/importclient.csv 2012-01-25 13:22:20 UTC (rev 1366)
+++ trunk/wikitty-api/src/test/resources/csv/importclient.csv 2012-01-25 14:16:39 UTC (rev 1367)
@@ -1,2 +1,2 @@
"Wikitty.Id","Client.name"
-"fbcc8aed-7f67-4e3c-a9aa-221373765f8d","Toto"
+"fbcc8aed-7f67-4e3c-a9aa-221373765f8d","Entreprise dupont"
Added: trunk/wikitty-api/src/test/resources/xml/importclient.xml
===================================================================
--- trunk/wikitty-api/src/test/resources/xml/importclient.xml (rev 0)
+++ trunk/wikitty-api/src/test/resources/xml/importclient.xml 2012-01-25 14:16:39 UTC (rev 1367)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wikitty>
+ <extension name='WikittyTreeNode' version='2.0'>
+ <tagvalues> version="2.0"</tagvalues>
+ <field>STRING name unique="true"</field>
+ <field>WIKITTY attachment[0-*] unique="true" version="2.0"</field>
+ <field>WIKITTY parent unique="true"</field>
+ </extension>
+ <extension name='Client' version='1.0'>
+ <tagvalues></tagvalues>
+ <field>STRING name</field>
+ </extension>
+ <object id='fbcc8aed-7f67-4e3c-a9aa-221373765f8d' version='0.1' extensions='Client[1.0]'>
+ <Client.name>Entreprise dupont</Client.name>
+ </object>
+ <object id='4f6fc798-41f8-48d7-9398-119ef6ab02b6' version='0.1' extensions='WikittyTreeNode[2.0]'>
+ <WikittyTreeNode.name>MyRootNode</WikittyTreeNode.name>
+ </object>
+ <extension name='Tag' version='1.0'>
+ <tagvalues></tagvalues>
+ <field>STRING tags</field>
+ </extension>
+ <object id='1142aa4c-af5a-4264-9918-9f72d9ef9d59' version='0.3' extensions='Tag[1.0],WikittyTreeNode[2.0]'>
+ <WikittyTreeNode.parent>4f6fc798-41f8-48d7-9398-119ef6ab02b6</WikittyTreeNode.parent>
+ <WikittyTreeNode.attachment>fbcc8aed-7f67-4e3c-a9aa-221373765f8d</WikittyTreeNode.attachment>
+ <WikittyTreeNode.name>MyTreeNode</WikittyTreeNode.name>
+ </object>
+ <object id='0d13cb0b-bc06-431c-9438-7bcb357f45da' version='0.2' extensions='WikittyTreeNode[2.0]'>
+ <WikittyTreeNode.parent>1142aa4c-af5a-4264-9918-9f72d9ef9d59</WikittyTreeNode.parent>
+ <WikittyTreeNode.name>MySubNode</WikittyTreeNode.name>
+ </object>
+</wikitty>
\ No newline at end of file
1
0
r1366 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 14:22:20 +0100 (Wed, 25 Jan 2012)
New Revision: 1366
Url: http://nuiton.org/repositories/revision/wikitty/1366
Log:
Fix doc
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/AbstractCondition.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/And.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Between.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ConditionValueString.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerNaryOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerUnaryOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsAll.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsOne.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Equals.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/NotEquals.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Or.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalBinaryOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalNaryOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalTernaryOperator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalUnaryOperator.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/AbstractCondition.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/AbstractCondition.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/AbstractCondition.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -24,10 +24,6 @@
*/
package org.nuiton.wikitty.query.conditions;
-import java.io.Serializable;
-import java.util.HashSet;
-import java.util.Set;
-import org.apache.commons.lang.ClassUtils;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.query.WikittyQueryVisitor;
import org.nuiton.wikitty.query.WikittyQueryVisitorCopy;
@@ -49,13 +45,6 @@
// serialVersionUID is used for serialization.
private static final long serialVersionUID = 1L;
- /**
- * Default constructor
- */
- public AbstractCondition() {
- super();
- }
-
@Override
public Condition copy() {
WikittyQueryVisitorCopy v = new WikittyQueryVisitorCopy();
@@ -67,7 +56,7 @@
* For non terminal condition this method add subCondition.
* For terminal this method must return an exception
*
- * When you overriden this method, you must call {@link #checkAddCondition}
+ * When you override this method, you must call {@link #checkAddCondition}
* in first
*
* @param c
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/And.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/And.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/And.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -27,6 +27,8 @@
import java.util.Arrays;
import java.util.List;
+import org.nuiton.wikitty.query.WikittyQueryMaker;
+
/**
* And operator is used to build conjunctive restriction for request on content.
* It take at least 2 args. <br>
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Between.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Between.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Between.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -48,8 +48,6 @@
* Constructor with all parameters initialized
*
* @param element
- * @param min
- * @param max
*/
public Between(Element element) {
super(element);
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ConditionValueString.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ConditionValueString.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ConditionValueString.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -25,8 +25,6 @@
package org.nuiton.wikitty.query.conditions;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
*
@@ -38,9 +36,6 @@
*/
public class ConditionValueString extends AbstractCondition implements ConditionValue {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ConditionValueString.class);
-
private static final long serialVersionUID = 1L;
protected String value;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerNaryOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerNaryOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerNaryOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -28,8 +28,6 @@
import java.util.List;
import org.apache.commons.lang.ClassUtils;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.query.WikittyQueryVisitor;
@@ -46,8 +44,8 @@
*/
public abstract class ContainerNaryOperator extends ContainerOperator {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ContainerNaryOperator.class);
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1L;
protected List<Condition> conditions;
@@ -100,8 +98,9 @@
}
/**
- * Return Restriction list. This list is never null, but can be empty
- * @return
+ * Return Restriction list. This list is never null, but can be empty.
+ *
+ * @return conditions list
*/
public List<Condition> getConditions() {
if (conditions == null) {
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -24,11 +24,9 @@
*/
package org.nuiton.wikitty.query.conditions;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
/**
- * Permet de marker touts les containers (autorise autre chose qu'un ConditionValue
+ * Permet de marker touts les containers (autorise autre chose qu'un ConditionValue).
+ *
* @author poussin
* @version $Revision$
*
@@ -37,9 +35,6 @@
*/
public abstract class ContainerOperator extends AbstractCondition {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ContainerOperator.class);
-
private static final long serialVersionUID = 1L;
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerUnaryOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerUnaryOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainerUnaryOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -26,8 +26,6 @@
import org.apache.commons.lang.ClassUtils;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.query.WikittyQueryVisitor;
@@ -43,8 +41,8 @@
*/
public abstract class ContainerUnaryOperator extends ContainerOperator {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ContainerUnaryOperator.class);
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1L;
protected Condition subCondition;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsAll.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsAll.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsAll.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -57,7 +57,7 @@
* Constructor with all parameters initialized
*
* @param element
- * @param value
+ * @param values
*/
public ContainsAll(Element element, Collection<ConditionValue> values) {
super(element, values);
@@ -66,6 +66,4 @@
public ContainsAll(Element element) {
super(element);
}
-
-
-}
\ No newline at end of file
+}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsOne.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsOne.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/ContainsOne.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -48,7 +48,7 @@
* Constructor with all parameters initialized
*
* @param element
- * @param value
+ * @param values
*/
public ContainsOne(Element element, Collection<ConditionValue> values) {
super(element, values);
@@ -57,5 +57,4 @@
public ContainsOne(Element element) {
super(element);
}
-
-}
\ No newline at end of file
+}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Equals.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Equals.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Equals.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -61,5 +61,4 @@
public Equals(Element element, ConditionValue value) {
super(element, value);
}
-
-}
\ No newline at end of file
+}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/NotEquals.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/NotEquals.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/NotEquals.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -25,6 +25,7 @@
package org.nuiton.wikitty.query.conditions;
import org.nuiton.wikitty.entities.Element;
+import org.nuiton.wikitty.query.WikittyQueryMaker;
/**
* NotEquals operator is used to build restriction containing "element != value"
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Or.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Or.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/Or.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -27,6 +27,8 @@
import java.util.Arrays;
import java.util.List;
+import org.nuiton.wikitty.query.WikittyQueryMaker;
+
/**
* Or operator is used to build disjunctive restriction for request on content.
* It take at least 2 args. <br>
@@ -56,7 +58,7 @@
/**
* Constructor with all parameters initialized
*
- * @param restrictions
+ * @param conditions
*/
public Or(List<Condition> conditions) {
super(conditions);
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalBinaryOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalBinaryOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalBinaryOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -54,7 +54,6 @@
* Constructor with all parameters initialized
*
* @param element
- * @param value
*/
public TerminalBinaryOperator(Element element) {
this(element, (ConditionValue)null);
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalNaryOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalNaryOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalNaryOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -30,8 +30,6 @@
import java.util.List;
import org.apache.commons.lang.ClassUtils;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.query.WikittyQueryVisitor;
@@ -45,9 +43,6 @@
*/
public class TerminalNaryOperator extends TerminalOperator {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(TerminalNaryOperator.class);
-
// serialVersionUID is used for serialization.
private static final long serialVersionUID = 1L;
@@ -58,7 +53,6 @@
* Constructor with all parameters initialized
*
* @param element
- * @param value
*/
public TerminalNaryOperator(Element element) {
this(element, (Collection<ConditionValue>)null);
@@ -68,7 +62,7 @@
* Constructor with all parameters initialized
*
* @param element
- * @param value value is internaly copied to prevent external modification
+ * @param values value is internaly copied to prevent external modification
*/
public TerminalNaryOperator(Element element, Collection<ConditionValue> values) {
this.element = element;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -24,12 +24,8 @@
*/
package org.nuiton.wikitty.query.conditions;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.wikitty.WikittyException;
-
/**
- * Class mere de tous les operateurs terminaux sans parametre
+ * Class mere de tous les operateurs terminaux sans parametres
* (ex: True, False)
*
* @author poussin
@@ -41,8 +37,8 @@
*/
public abstract class TerminalOperator extends AbstractCondition {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(TerminalOperator.class);
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1L;
public TerminalOperator() {
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalTernaryOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalTernaryOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalTernaryOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -27,8 +27,6 @@
import org.nuiton.wikitty.entities.Element;
import org.apache.commons.lang.ClassUtils;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.query.WikittyQueryVisitor;
@@ -44,9 +42,6 @@
*/
public abstract class TerminalTernaryOperator extends TerminalOperator {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(TerminalTernaryOperator.class);
-
private static final long serialVersionUID = 1L;
protected Element element;
@@ -128,6 +123,4 @@
&& ObjectUtils.equals(this.getMax(), op.getMax());
return result;
}
-
-
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalUnaryOperator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalUnaryOperator.java 2012-01-25 13:14:06 UTC (rev 1365)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/conditions/TerminalUnaryOperator.java 2012-01-25 13:22:20 UTC (rev 1366)
@@ -26,8 +26,6 @@
import org.nuiton.wikitty.entities.Element;
import org.apache.commons.lang.ObjectUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
*
@@ -39,9 +37,6 @@
*/
public class TerminalUnaryOperator extends TerminalOperator {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(TerminalUnaryOperator.class);
-
// serialVersionUID is used for serialization.
private static final long serialVersionUID = 1L;
@@ -50,8 +45,7 @@
/**
* Constructor with all parameters initialized
*
- * @param element
- * @param value value is internaly copied to prevent external modification
+ * @param element value is internaly copied to prevent external modification
*/
public TerminalUnaryOperator(Element element) {
this.element = element;
1
0
r1365 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 14:14:06 +0100 (Wed, 25 Jan 2012)
New Revision: 1365
Url: http://nuiton.org/repositories/revision/wikitty/1365
Log:
Fix doc
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java 2012-01-25 13:09:17 UTC (rev 1364)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java 2012-01-25 13:14:06 UTC (rev 1365)
@@ -29,22 +29,6 @@
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.TimeLog;
-import org.nuiton.wikitty.entities.BusinessEntity;
-import org.nuiton.wikitty.entities.BusinessEntityImpl;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.entities.WikittyGroup;
-import org.nuiton.wikitty.entities.WikittyUser;
-import org.nuiton.wikitty.services.WikittyEvent;
-import org.nuiton.wikitty.services.WikittySecurityUtil;
-import org.nuiton.wikitty.services.WikittyServiceEnhanced;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -55,25 +39,38 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.TimeLog;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
+import org.nuiton.wikitty.entities.ElementField;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyField;
+import org.nuiton.wikitty.entities.WikittyGroup;
import org.nuiton.wikitty.entities.WikittyTokenHelper;
+import org.nuiton.wikitty.entities.WikittyUser;
import org.nuiton.wikitty.query.WikittyQuery;
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryResult;
import org.nuiton.wikitty.query.WikittyQueryResultTreeNode;
-import org.nuiton.wikitty.entities.ElementField;
import org.nuiton.wikitty.query.conditions.Select;
+import org.nuiton.wikitty.services.WikittyEvent;
import org.nuiton.wikitty.services.WikittyExtensionMigrationRegistry;
+import org.nuiton.wikitty.services.WikittySecurityUtil;
+import org.nuiton.wikitty.services.WikittyServiceEnhanced;
/**
* Wikitty client is object used in client side to access WikittyService.
* It is used to transform wikitty object used by {@link WikittyService}
* into business objects used by applications.
*
- * It also manage {@link #securityToken} for {@link org.nuiton.wikitty.services.WikittyService}.
+ * It also manage {@link #securityToken} for {@link org.nuiton.wikitty.WikittyService}.
*
- * All method that need {@link #securityToken} and {@link org.nuiton.wikitty.services.WikittyService}
+ * All method that need {@link #securityToken} and {@link org.nuiton.wikitty.WikittyService}
* must be in this class and not in {@link WikittyUtil}
*
* @author poussin
@@ -86,7 +83,6 @@
public class WikittyClient {
/** to use log facility, just put in your code: log.info(\"...\"); */
- final static private Log log = LogFactory.getLog(WikittyClient.class);
final static private TimeLog timeLog = new TimeLog(WikittyClient.class);
protected ApplicationConfig config = null;
@@ -131,6 +127,7 @@
*
* @param config
* @param wikittyService
+ * @param securityToken
*/
public WikittyClient(ApplicationConfig config, WikittyService wikittyService, String securityToken) {
if (config != null) {
@@ -532,7 +529,7 @@
* @return
*/
public <E extends BusinessEntityImpl> WikittyQueryResult<E> findAllByExample(E e,
- int first, int limit, ElementField ... fieldFacet ) {
+ int first, int limit, ElementField ... fieldFacet) {
long start = TimeLog.getTime();
WikittyQuery query = new WikittyQueryMaker().wikitty(e).end()
@@ -985,12 +982,12 @@
}
/**
- * Converti un id en son object WikittyTreeNode
+ * Converti un id en son object WikittyTreeNode.
* @since 3.1
*/
static private class IdToObjectConverter<T> implements ConvertTreeVisitor.Converter<String, T> {
protected Map<String, T> objects = new HashMap<String, T>();
- protected String securityToken;
+
public IdToObjectConverter(List<String> ids, List<T> objectList) {
for (int i = 0; i < ids.size(); i++) {
@@ -1231,6 +1228,8 @@
/**
* Use with caution : It will delete ALL indexes from search engine !
* This operation should be disabled in production environment.
+ *
+ * @return clear event
*/
public WikittyEvent clear() {
long start = TimeLog.getTime();
1
0
r1364 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . search
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 14:09:17 +0100 (Wed, 25 Jan 2012)
New Revision: 1364
Url: http://nuiton.org/repositories/revision/wikitty/1364
Log:
Test refactoring
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/search/SearchCriteriaTest.java
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/
Copied: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/search/SearchCriteriaTest.java (from rev 1363, trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/SearchCriteriaTest.java)
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/search/SearchCriteriaTest.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/search/SearchCriteriaTest.java 2012-01-25 13:09:17 UTC (rev 1364)
@@ -0,0 +1,182 @@
+/*
+ * #%L
+ * Wikitty :: api
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+package org.nuiton.wikitty.search;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.wikitty.WikittyUtil;
+import org.nuiton.wikitty.entities.FieldType;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.operators.And;
+import org.nuiton.wikitty.search.operators.AssociatedRestriction;
+import org.nuiton.wikitty.search.operators.Between;
+import org.nuiton.wikitty.search.operators.BinaryOperator;
+import org.nuiton.wikitty.search.operators.Equals;
+import org.nuiton.wikitty.search.operators.Or;
+import org.nuiton.wikitty.search.operators.Restriction;
+import org.nuiton.wikitty.search.operators.RestrictionName;
+import org.nuiton.wikitty.search.Search;
+
+/**
+ * @deprecated since 3.4, will be removed in 4
+ */
+@Deprecated
+public class SearchCriteriaTest {
+
+ static private Log log = LogFactory.getLog(SearchCriteriaTest.class);
+
+ String elementName = "ELM_NAME",
+ value = "Value";
+
+ @Test
+ public void testBinaryOperators() throws Exception {
+ checkSearch( q().eq(elementName, value), RestrictionName.EQUALS );
+ checkSearch( q().neq(elementName, value), RestrictionName.NOT_EQUALS );
+ checkSearch( q().lt(elementName, value), RestrictionName.LESS );
+ checkSearch( q().le(elementName, value), RestrictionName.LESS_OR_EQUAL );
+ checkSearch( q().gt(elementName, value), RestrictionName.GREATER );
+ checkSearch( q().ge(elementName, value), RestrictionName.GREATER_OR_EQUAL );
+ checkSearch( q().sw(elementName, value), RestrictionName.STARTS_WITH );
+ checkSearch( q().ew(elementName, value), RestrictionName.ENDS_WITH );
+ }
+
+ @Test
+ public void testBetween() throws Exception {
+ Criteria criteria = q().bw(elementName, "from", "to").criteria();
+ Restriction restriction = criteria.getRestriction();
+ Assert.assertTrue( restriction instanceof Between );
+ Between between = (Between) restriction;
+ Assert.assertEquals( "from", between.getMin() );
+ Assert.assertEquals( "to", between.getMax() );
+ }
+
+ @Test
+ public void testAnd() throws Exception {
+ Restriction dto = q()
+ .eq(elementName + "0", value + "0")
+ .gt(elementName + "1", value + "1")
+ .ew(elementName + "2", value + "2")
+ .criteria().getRestriction();
+ Assert.assertTrue( dto instanceof And );
+ And and = (And) dto;
+ Restriction[] dtos = and.getRestrictions().toArray(new Restriction[]{});
+ checkRestriction(dtos[0], RestrictionName.EQUALS, elementName + "0", value + "0");
+ checkRestriction(dtos[1], RestrictionName.GREATER, elementName + "1", value + "1");
+ checkRestriction(dtos[2], RestrictionName.ENDS_WITH, elementName + "2", value + "2");
+ }
+
+ @Test
+ public void testOr() throws Exception {
+ String[] elementNames = new String[4];
+ String[] values = new String[4];
+
+ for (int i = 0; i < elementNames.length; i++) {
+ elementNames[i] = elementName + i;
+ values[i] = value + i;
+ }
+
+ Search q = q().eq(elementNames[0], values[0]);
+ Search qor = q.or()
+ .gt(elementNames[1], values[1])
+ .ew(elementNames[2], values[2])
+ .lt(elementNames[3], values[3]);
+ Restriction dto = q.criteria().getRestriction();
+ Assert.assertTrue( "Restriction is " + dto.getClass().getName(), dto instanceof And );
+ And and = (And) dto;
+ Restriction[] dtos = and.getRestrictions().toArray(new Restriction[]{});
+ checkRestriction(dtos[0], RestrictionName.EQUALS, elementName + "0", value + "0");
+ Assert.assertTrue( "Restriction is " + dtos[1].getClass().getName(), dtos[1] instanceof Or );
+ Or or = (Or) dtos[1];
+ dtos = or.getRestrictions().toArray(new Restriction[]{});
+ checkRestriction(dtos[0], RestrictionName.GREATER, elementName + "1", value + "1");
+ checkRestriction(dtos[1], RestrictionName.ENDS_WITH, elementName + "2", value + "2");
+ checkRestriction(dtos[2], RestrictionName.LESS, elementName + "3", value + "3");
+ }
+
+ @Test
+ public void testAssociated() throws Exception {
+
+ /* Following request mean is :
+ * Looking for any product which price is between 15 and 25,
+ * and name starts with 'Paint',
+ * and with an associated category which name is 'Hardware'
+ */
+
+ Restriction dto = q()
+ .bw( "Product.price", "15", "25")
+ .sw( "Product.name", "Paint")
+ .associated( "Product.category" )
+ .eq( "Category.name", "Hardware" )
+ .criteria().getRestriction();
+
+ Assert.assertTrue( "Restriction is " + dto.getClass().getName(), dto instanceof AssociatedRestriction );
+ AssociatedRestriction ass = (AssociatedRestriction) dto;
+ Restriction embedded = ass.getRestriction();
+ Assert.assertTrue( "Restriction is " + dto.getClass().getName(), embedded instanceof Equals );
+ checkRestriction(embedded, RestrictionName.EQUALS, "Category.name", "Hardware");
+ Assert.assertEquals( "Product.category", ass.getElement().getName() );
+ }
+
+ @Test
+ public void testXML() throws Exception {
+ Criteria criteria = q().bw(elementName, "from", "to").criteria();
+
+ // Serialize
+ String xml = Criteria.toXML(criteria);
+ log.debug("[XML] " + xml);
+ Assert.assertNotNull(xml);
+
+ // Deserialize
+ criteria = Criteria.fromXML(xml);
+ Assert.assertNotNull(criteria);
+ }
+
+ /*
+ * -============ private test utils operations ============-
+ */
+ protected static Search q() {
+ return Search.query();
+ }
+
+ protected void checkSearch( Search search, RestrictionName name ) throws Exception {
+ Restriction dto = search.criteria().getRestriction();
+ checkRestriction( dto, name, elementName, value );
+ }
+
+ protected void checkRestriction(Restriction dto, RestrictionName name,
+ String element, String value) throws Exception {
+ Assert.assertTrue( dto instanceof BinaryOperator );
+ BinaryOperator bop = (BinaryOperator) dto;
+ Assert.assertEquals( name, dto.getName() );
+ Assert.assertEquals( element, bop.getElement().getName() );
+ Assert.assertEquals( value, bop.getValue() );
+ }
+
+}
1
0
r1363 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . api
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 14:07:52 +0100 (Wed, 25 Jan 2012)
New Revision: 1363
Url: http://nuiton.org/repositories/revision/wikitty/1363
Log:
Refactor wikitty util tests.
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyUtilTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/SearchCriteriaTest.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyUtilTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyUtilTest.java 2012-01-25 13:01:55 UTC (rev 1362)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyUtilTest.java 2012-01-25 13:07:52 UTC (rev 1363)
@@ -24,14 +24,36 @@
*/
package org.nuiton.wikitty;
+import java.beans.PropertyChangeListener;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.wikitty.entities.BusinessEntity;
+import org.nuiton.wikitty.entities.FieldType;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.entities.WikittyField;
+import org.nuiton.wikitty.entities.WikittyGroupImpl;
+import org.nuiton.wikitty.entities.WikittyLabel;
+import org.nuiton.wikitty.entities.WikittyLabelImpl;
+import org.nuiton.wikitty.services.WikittyServiceInMemory;
/**
- *
+ * Test on WikittyUtil class.
+ *
* @author poussin
* @version $Revision$
*
@@ -53,4 +75,731 @@
System.out.println("Date parsed: " + d2);
Assert.assertEquals(d, d2);
}
+
+ @Test
+ public void testFormat() {
+ WikittyGroupImpl group = new WikittyGroupImpl();
+ group.setName("Mon Groupe");
+
+ // test un cas passant
+ String result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"$s",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = Mon Groupe", result);
+
+ // test un cas passant
+ result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"|noname$s",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = Mon Groupe", result);
+
+ // test un cas passant avec deux fois le meme champs
+ result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"$s(%"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"$s)",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = Mon Groupe(Mon Groupe)", result);
+
+ // test un cas ou le champs demande n'existe pas dans le wikitty (sans remplacement)
+ result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto$s",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = ", result);
+
+ // test un cas ou le champs demande n'existe pas dans le wikitty (sans remplacement)
+ // avec deux fois le meme champs
+ result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto$s(%"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"tata$s)",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = ()", result);
+
+ // test un cas ou le champs demande n'existe pas dans le wikitty (sans remplacement)
+ result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto|$s",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = ", result);
+
+ // test un cas ou le champs demande n'existe pas dans le wikitty (avec remplacement
+ result = WikittyUtil.format(
+ "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto|noname$s",
+ group.getWikitty());
+ Assert.assertEquals("Group Name = noname", result);
+ }
+
+ /**
+ * Test of normalizeVersion method, of class WikittyUtil.
+ */
+ @Test
+ public void testNormalizeVersion() {
+ {
+ String version = null;
+ String expResult = "0.0";
+ String result = WikittyUtil.normalizeVersion(version);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String version = "";
+ String expResult = "0.0";
+ String result = WikittyUtil.normalizeVersion(version);
+ Assert.assertEquals(expResult, result);
+ }
+ }
+
+ /**
+ * Test of versionEquals method, of class WikittyUtil.
+ */
+ @Test
+ public void testVersionEquals() {
+ {
+ String v1 = "0.4";
+ String v2 = "0.4";
+ boolean expResult = true;
+ boolean result = WikittyUtil.versionEquals(v1, v2);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v1 = "0.4.0";
+ String v2 = "0.4";
+ boolean expResult = false;
+ boolean result = WikittyUtil.versionEquals(v1, v2);
+ Assert.assertEquals(expResult, result);
+ }
+ }
+
+ /**
+ * Test of versionGreaterThan method, of class WikittyUtil.
+ */
+ @Test
+ public void testVersionGreaterThan() {
+ String v1 = "4.5";
+ String v2 = "4.4";
+ boolean expResult = true;
+ boolean result = WikittyUtil.versionGreaterThan(v1, v2);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of incrementMinorRevision method, of class WikittyUtil.
+ */
+ @Test
+ public void testIncrementMinorRevision() {
+ {
+ String v = "";
+ String expResult = "0.1";
+ String result = WikittyUtil.incrementMinorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v = "0";
+ String expResult = "0.1";
+ String result = WikittyUtil.incrementMinorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v = "1.0";
+ String expResult = "1.1";
+ String result = WikittyUtil.incrementMinorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v = "1.4";
+ String expResult = "1.5";
+ String result = WikittyUtil.incrementMinorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v = "1.9";
+ String expResult = "1.10";
+ String result = WikittyUtil.incrementMinorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ }
+
+ /**
+ * Test la difference de temps entre differente methode d'increment de version
+ * qui est sous forme texte.
+ *
+ * <li> parsing Integer + 1 (757ms / 3 millions d'appels)
+ * <li> switch sur les caracteres (419ms / 3 millions d'appels)
+ * <li> appel d'une methode d'increment (462ms / 3 millions d'appels)
+ */
+ @Test
+ public void testPerfIncrementMinorRevision() {
+ int MAX = 3000000;
+ String v = "0";
+
+ long time = System.currentTimeMillis();
+ for (int cpt = 0; cpt < MAX; cpt++) {
+ int i = Integer.parseInt(v) + 1;
+ v = String.valueOf(i);
+ }
+ long timeParse = System.currentTimeMillis() - time;
+
+ v = "0";
+ time = System.currentTimeMillis();
+ for (int cpt = 0; cpt < MAX; cpt++) {
+ v = inc(v);
+ }
+ long timeCall = System.currentTimeMillis() - time;
+
+ v = "0";
+ time = System.currentTimeMillis();
+ for (int cpt = 0; cpt < MAX; cpt++) {
+ char[] c = v.toCharArray();
+ boolean retenue = true;
+ for (int i = c.length - 1; retenue && i >= 0; i--) {
+ switch (c[i]) {
+ case '0':
+ c[i] = '1';
+ retenue = false;
+ break;
+ case '1':
+ c[i] = '2';
+ retenue = false;
+ break;
+ case '2':
+ c[i] = '3';
+ retenue = false;
+ break;
+ case '3':
+ c[i] = '4';
+ retenue = false;
+ break;
+ case '4':
+ c[i] = '5';
+ retenue = false;
+ break;
+ case '5':
+ c[i] = '6';
+ retenue = false;
+ break;
+ case '6':
+ c[i] = '7';
+ retenue = false;
+ break;
+ case '7':
+ c[i] = '8';
+ retenue = false;
+ break;
+ case '8':
+ c[i] = '9';
+ retenue = false;
+ break;
+ default:
+ c[i] = '0';
+ break;
+ }
+ }
+ if (retenue) {
+ v = "1" + String.valueOf(c);
+ } else {
+ v = String.valueOf(c);
+ }
+ }
+ long timeSwitch = System.currentTimeMillis() - time;
+
+ log.info("Inc parse: " + timeParse + " call: " + timeCall + " switch: "
+ + timeSwitch + " (" + v + ")");
+ }
+
+ protected String inc(String v) {
+ char[] c = v.toCharArray();
+ boolean retenue = true;
+ for (int i = c.length - 1; retenue && i >= 0; i--) {
+ switch (c[i]) {
+ case '0':
+ c[i] = '1';
+ retenue = false;
+ break;
+ case '1':
+ c[i] = '2';
+ retenue = false;
+ break;
+ case '2':
+ c[i] = '3';
+ retenue = false;
+ break;
+ case '3':
+ c[i] = '4';
+ retenue = false;
+ break;
+ case '4':
+ c[i] = '5';
+ retenue = false;
+ break;
+ case '5':
+ c[i] = '6';
+ retenue = false;
+ break;
+ case '6':
+ c[i] = '7';
+ retenue = false;
+ break;
+ case '7':
+ c[i] = '8';
+ retenue = false;
+ break;
+ case '8':
+ c[i] = '9';
+ retenue = false;
+ break;
+ default:
+ c[i] = '0';
+ break;
+ }
+ }
+ if (retenue) {
+ v = "1" + String.valueOf(c);
+ } else {
+ v = String.valueOf(c);
+ }
+ return v;
+ }
+
+ /**
+ * Test of incrementMajorRevision method, of class WikittyUtil.
+ */
+ @Test
+ public void testIncrementMajorRevision() {
+ {
+ String v = "";
+ String expResult = "1.0";
+ String result = WikittyUtil.incrementMajorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v = "0";
+ String expResult = "1.0";
+ String result = WikittyUtil.incrementMajorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ String v = "1.5";
+ String expResult = "2.0";
+ String result = WikittyUtil.incrementMajorRevision(v);
+ Assert.assertEquals(expResult, result);
+ }
+ }
+
+ /**
+ * Test of toBigDecimal method, of class WikittyUtil.
+ */
+ @Test
+ public void testToBigDecimal() {
+ Object value = null;
+ BigDecimal expResult = new BigDecimal(0);
+ BigDecimal result = WikittyUtil.toBigDecimal(value);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of toBoolean method, of class WikittyUtil.
+ */
+ @Test
+ public void testToBoolean() {
+ Object value = null;
+ boolean expResult = false;
+ boolean result = WikittyUtil.toBoolean(value);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of toString method, of class WikittyUtil.
+ */
+ @Test
+ public void testToString() {
+ Object value = null;
+ String expResult = null;
+ String result = WikittyUtil.toString(value);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of toDate method, of class WikittyUtil.
+ */
+ @Test
+ public void testToDateNull() {
+ Object value = null;
+ Date expResult = null;
+ Date result = WikittyUtil.toDate(value);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of toWikitty method, of class WikittyUtil.
+ */
+ @Test
+ public void testToWikitty() {
+ Object value = null;
+ String expResult = null;
+ String result = WikittyUtil.toWikitty(value);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of toList method, of class WikittyUtil.
+ */
+ @Test
+ public void testToList() {
+ Object value = null;
+ Class clazz = Object.class;
+ List<Object> expResult = null;
+ List<Object> result = WikittyUtil.toList(value, clazz);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of getClass method, of class WikittyUtil.
+ */
+ @Test
+ public void testGetClass() {
+ Object value = null;
+ Class expResult = null;
+ Class result = WikittyUtil.getClass(value);
+ Assert.assertEquals(expResult, result);
+ }
+
+ /**
+ * Test of cast method, of class WikittyUtil.
+ */
+ @Test
+ public void testCast() {
+ {
+ Object obj = null;
+ Class<Object> clazz = null;
+ Object expResult = null;
+ Object result = WikittyUtil.cast(obj, clazz);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ Object obj = "Toto";
+ Class<Object> clazz = Object.class;
+ Object expResult = "Toto";
+ Object result = WikittyUtil.cast(obj, clazz);
+ Assert.assertEquals(expResult, result);
+ }
+ {
+ Object obj = new Object();
+ Class<String> clazz = String.class;
+ Object expResult = obj;
+ try {
+ Object result = WikittyUtil.cast(obj, clazz);
+ Assert.fail("cast object to string !!!");
+ } catch (Exception eee) {
+ // ok
+ }
+ }
+ }
+
+ @Test
+ public void testUID() throws Exception {
+ for (int i = 0; i < 8; i++) {
+ String uid = WikittyUtil.genUID();
+ log.info("uid = " + uid);
+ }
+ }
+
+ @Test
+ public void testWikittyExtensionBuild() {
+ String extName = "Produit";
+
+ LinkedHashMap<String, FieldType> fields = WikittyUtil
+ .buildFieldMapExtension("String name", "Numeric amount",
+ "Date buildDate");
+
+ Assert.assertNotNull(fields.get("name"));
+ Assert.assertNotNull(fields.get("amount"));
+ Assert.assertNotNull(fields.get("buildDate"));
+
+ WikittyExtension ext = new WikittyExtension(extName, "1", fields);
+
+ Assert.assertNotNull(ext.getFieldType("name"));
+ Assert.assertNotNull(ext.getFieldType("amount"));
+ Assert.assertNotNull(ext.getFieldType("buildDate"));
+ }
+
+ @Test
+ public void testWikittyExtensionTagValue() {
+ String accentValue = "Avèc_dés_açcents";
+ String floatValue = "3.3";
+ String dateValue = "2009-12-10T12:45:31:551Z";
+ String whitespaceCharacters = "ertyuio\n <df ds \r\rf sf >sd f\n\tdf";
+
+ LinkedHashMap<String, FieldType> fields = WikittyUtil
+ .buildFieldMapExtension("String name test=" + accentValue,
+ "Numeric amount defaultValue=" + floatValue,
+ "Date buildDate now=" + dateValue);
+
+ FieldType fieldName = fields.get("name");
+ Assert.assertEquals(accentValue, fieldName.getTagValue("test"));
+ Assert.assertEquals(floatValue,
+ fields.get("amount").getTagValue("defaultValue"));
+ Assert.assertEquals(dateValue,
+ fields.get("buildDate").getTagValue("now"));
+
+ fieldName.addTagValue("whitespaceCharacters", whitespaceCharacters);
+ String toDefinition = fieldName.toDefinition("name");
+ WikittyUtil.parseField(toDefinition, fieldName);
+ }
+
+ // use in testNewInstance
+ static class MonLabel extends WikittyLabelImpl {
+ }
+
+ /** check that a date is the same after parse and format */
+ @Test
+ public void testDateConsistency() throws Exception {
+ Date date = WikittyUtil.parseDate("30/01/2009");
+ Date dateFormatedAndParsed = WikittyUtil.parseDate(WikittyUtil
+ .formatDate(date));
+ Assert.assertEquals(date, dateFormatedAndParsed);
+
+ date = new Date();
+ dateFormatedAndParsed = WikittyUtil.parseDate(WikittyUtil
+ .formatDate(date));
+ Assert.assertEquals(date, dateFormatedAndParsed);
+
+ }
+
+ @Test
+ public void testParseDate() throws ParseException {
+ String date = "1982-01-22T23:00:00.000+0000Z";
+ Date date2 = WikittyUtil.parseDate(date);
+ Assert.assertNotNull(date2);
+ }
+
+ @Test
+ public void testGetWikitty() {
+
+ WikittyLabel label = new WikittyLabelImpl();
+ label.addLabels("Test");
+
+ String wikittyId = label.getWikittyId();
+
+ Wikitty labelWikitty = WikittyUtil.getWikitty(null,null,label);
+
+ Assert.assertEquals(wikittyId, labelWikitty.getId());
+ Assert.assertEquals(Collections.singleton("Test"),labelWikitty.getFieldAsObject(WikittyLabel.EXT_WIKITTYLABEL,WikittyLabel.FIELD_WIKITTYLABEL_LABELS));
+
+ ApplicationConfig config = WikittyConfig.getConfig();
+ WikittyServiceInMemory ws = new WikittyServiceInMemory(config);
+
+ ws.store(null, Collections.singleton(labelWikitty), false);
+
+ LabelDTO dto = new LabelDTO(wikittyId);
+ dto.addLabels("toto");
+ dto.setWikittyVersion("2.0");
+
+ Wikitty w = WikittyUtil.getWikitty(ws, null, dto);
+ WikittyLabel l = new WikittyLabelImpl(w);
+
+ Assert.assertEquals(dto.getWikittyId(), l.getWikittyId());
+ Assert.assertEquals(dto.getWikittyVersion(), l.getWikittyVersion());
+ Assert.assertEquals(dto.getLabels(), l.getLabels());
+ }
+
+ @Test
+ public void testCopyBean() throws Exception {
+ WikittyLabel source = new WikittyLabelImpl();
+ source.addLabels("toto");
+ WikittyLabel dest = new WikittyLabelImpl();
+
+ WikittyUtil.copyBean(source, dest);
+
+ Assert.assertFalse(source.getWikittyId().equals(dest.getWikittyId()));
+ Assert.assertEquals(source.getWikittyVersion(), dest.getWikittyVersion());
+ Assert.assertEquals(source.getLabels(), dest.getLabels());
+ }
+
+ @Test
+ public void testCopyFrom() throws Exception {
+ {
+// System.out.println("Dto => W");
+ WikittyLabel source = new LabelDTO(WikittyUtil.genUID());
+ source.addLabels("toto");
+ source.addLabels("titi");
+ WikittyLabel dest = new WikittyLabelImpl();
+
+ dest.copyFrom(source);
+ Assert.assertFalse(source.getWikittyId().equals(dest.getWikittyId()));
+ Assert.assertEquals(source.getWikittyVersion(), dest.getWikittyVersion());
+ Assert.assertEquals(source.getLabels(), dest.getLabels());
+ }
+ {
+// System.out.println("W => Dto");
+ WikittyLabel source = new WikittyLabelImpl();
+ source.addLabels("toto");
+ source.addLabels("titi");
+ WikittyLabel dest = new LabelDTO(WikittyUtil.genUID());
+
+ dest.copyFrom(source);
+ Assert.assertFalse(source.getWikittyId().equals(dest.getWikittyId()));
+ Assert.assertEquals(source.getWikittyVersion(), dest.getWikittyVersion());
+ Assert.assertEquals(source.getLabels(), dest.getLabels());
+ }
+ }
+
+ @Test
+ public void testClone() throws Exception {
+ {
+ WikittyLabel source = new WikittyLabelImpl();
+ source.setWikittyVersion("1.0");
+ source.addLabels("toto");
+ source.addLabels("titi");
+
+ Wikitty labelWikitty = WikittyUtil.getWikitty(null, null, source);
+ Wikitty cloned = WikittyUtil.clone(labelWikitty, false);
+
+ WikittyLabelImpl labelCloned = new WikittyLabelImpl(cloned);
+
+ Assert.assertTrue(labelWikitty.getId().equals(cloned.getId()));
+ Assert.assertEquals(labelWikitty.getVersion(), cloned.getVersion());
+ Assert.assertTrue(source.getWikittyId().equals(labelCloned.getWikittyId()));
+ Assert.assertEquals(source.getWikittyVersion(), labelCloned.getWikittyVersion());
+ Assert.assertEquals(source.getLabels(), labelCloned.getLabels());
+ }
+ {
+ WikittyLabel source = new WikittyLabelImpl();
+ source.setWikittyVersion("1.0");
+ source.addLabels("toto");
+ source.addLabels("titi");
+
+ Wikitty labelWikitty = WikittyUtil.getWikitty(null, null, source);
+ Wikitty cloned = WikittyUtil.clone(labelWikitty, true);
+
+ WikittyLabelImpl labelCloned = new WikittyLabelImpl(cloned);
+
+ Assert.assertFalse(labelWikitty.getId().equals(cloned.getId()));
+ Assert.assertNotSame(labelWikitty.getVersion(), cloned.getVersion());
+ Assert.assertFalse(source.getWikittyId().equals(labelCloned.getWikittyId()));
+ Assert.assertNotSame(source.getWikittyVersion(), labelCloned.getWikittyVersion());
+ Assert.assertEquals(source.getLabels(), labelCloned.getLabels());
+ }
+ }
+
+ static public class LabelDTO implements WikittyLabel {
+
+ protected String wikittyId;
+ protected String wikittyVersion = "0.0";
+ @WikittyField(fqn="WikittyLabel.labels")
+ protected Set<String> labels = new LinkedHashSet<String>();
+
+ public LabelDTO(String wikittyId) {
+ this.wikittyId = wikittyId;
+ }
+
+ @Override
+ public String getWikittyId() {
+ return wikittyId;
+ }
+
+ @Override
+ public String getWikittyVersion() {
+ return wikittyVersion;
+ }
+
+ @Override
+ public void setWikittyVersion(String version) {
+ this.wikittyVersion = version;
+ }
+
+ /**
+ * getLabels :
+ * @return Set<String>
+ */
+ @Override
+ public Set<String> getLabels() {
+ return labels;
+ }
+
+ @Override
+ public void setLabels(Set<String> labels) {
+ this.labels = new LinkedHashSet<String>(labels);
+ }
+
+ @Override
+ public void addAllLabels(Collection<String> labels) {
+ this.labels.addAll(labels);
+ }
+
+ /**
+ * addLabels :
+ * @param element
+ */
+ @Override
+ public void addLabels(String... element) {
+ for (String v : element) {
+ labels.add(v);
+ }
+ }
+
+ /**
+ * removeLabels :
+ * @param element
+ */
+ @Override
+ public void removeLabels(String... element) {
+ for (String v : element) {
+ labels.remove(v);
+ }
+ }
+
+ /**
+ * clearLabels :
+ */
+ @Override
+ public void clearLabels() {
+ labels.clear();
+ }
+
+ @Override
+ public void copyFrom(BusinessEntity source) {
+ try {
+ BeanUtils.copyProperties(this, source);
+ } catch (Exception eee) {
+ throw new WikittyException(String.format(
+ "Can't copy source object %s", source), eee);
+ }
+ }
+
+ @Override
+ public Collection<String> getExtensionFields(String ext) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Collection<String> getExtensionNames() {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Object getField(String ext, String fieldName) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setField(String ext, String fieldName, Object value) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void addPropertyChangeListener(PropertyChangeListener listener) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void removePropertyChangeListener(PropertyChangeListener listener) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ }
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/SearchCriteriaTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/SearchCriteriaTest.java 2012-01-25 13:01:55 UTC (rev 1362)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/SearchCriteriaTest.java 2012-01-25 13:07:52 UTC (rev 1363)
@@ -44,6 +44,10 @@
import org.nuiton.wikitty.search.operators.RestrictionName;
import org.nuiton.wikitty.search.Search;
+/**
+ * @deprecated since 3.4, will be removed in 4
+ */
+@Deprecated
public class SearchCriteriaTest {
static private Log log = LogFactory.getLog(SearchCriteriaTest.class);
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java 2012-01-25 13:01:55 UTC (rev 1362)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/WikittyUtilTest.java 2012-01-25 13:07:52 UTC (rev 1363)
@@ -1,792 +0,0 @@
-/*
- * #%L
- * Wikitty :: api
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>.
- * #L%
- */
-
-package org.nuiton.wikitty.api;
-
-import java.beans.PropertyChangeListener;
-import java.math.BigDecimal;
-import java.text.ParseException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import org.apache.commons.beanutils.BeanUtils;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
-import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.WikittyException;
-import org.nuiton.wikitty.entities.BusinessEntity;
-import org.nuiton.wikitty.entities.FieldType;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyField;
-import org.nuiton.wikitty.entities.WikittyLabel;
-import org.nuiton.wikitty.entities.WikittyLabelImpl;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.entities.WikittyGroupImpl;
-import org.nuiton.wikitty.services.WikittyServiceInMemory;
-
-/**
- *
- * @author poussin
- */
-public class WikittyUtilTest {
-
- static private Log log = LogFactory.getLog(WikittyUtilTest.class);
-
- @Test
- public void testFormat() {
- WikittyGroupImpl group = new WikittyGroupImpl();
- group.setName("Mon Groupe");
-
- // test un cas passant
- String result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"$s",
- group.getWikitty());
- Assert.assertEquals("Group Name = Mon Groupe", result);
-
- // test un cas passant
- result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"|noname$s",
- group.getWikitty());
- Assert.assertEquals("Group Name = Mon Groupe", result);
-
- // test un cas passant avec deux fois le meme champs
- result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"$s(%"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"$s)",
- group.getWikitty());
- Assert.assertEquals("Group Name = Mon Groupe(Mon Groupe)", result);
-
- // test un cas ou le champs demande n'existe pas dans le wikitty (sans remplacement)
- result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto$s",
- group.getWikitty());
- Assert.assertEquals("Group Name = ", result);
-
- // test un cas ou le champs demande n'existe pas dans le wikitty (sans remplacement)
- // avec deux fois le meme champs
- result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto$s(%"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"tata$s)",
- group.getWikitty());
- Assert.assertEquals("Group Name = ()", result);
-
- // test un cas ou le champs demande n'existe pas dans le wikitty (sans remplacement)
- result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto|$s",
- group.getWikitty());
- Assert.assertEquals("Group Name = ", result);
-
- // test un cas ou le champs demande n'existe pas dans le wikitty (avec remplacement
- result = WikittyUtil.format(
- "Group Name = %"+WikittyGroupImpl.FQ_FIELD_WIKITTYGROUP_NAME+"toto|noname$s",
- group.getWikitty());
- Assert.assertEquals("Group Name = noname", result);
- }
-
- /**
- * Test of normalizeVersion method, of class WikittyUtil.
- */
- @Test
- public void testNormalizeVersion() {
- {
- String version = null;
- String expResult = "0.0";
- String result = WikittyUtil.normalizeVersion(version);
- Assert.assertEquals(expResult, result);
- }
- {
- String version = "";
- String expResult = "0.0";
- String result = WikittyUtil.normalizeVersion(version);
- Assert.assertEquals(expResult, result);
- }
- }
-
- /**
- * Test of versionEquals method, of class WikittyUtil.
- */
- @Test
- public void testVersionEquals() {
- {
- String v1 = "0.4";
- String v2 = "0.4";
- boolean expResult = true;
- boolean result = WikittyUtil.versionEquals(v1, v2);
- Assert.assertEquals(expResult, result);
- }
- {
- String v1 = "0.4.0";
- String v2 = "0.4";
- boolean expResult = false;
- boolean result = WikittyUtil.versionEquals(v1, v2);
- Assert.assertEquals(expResult, result);
- }
- }
-
- /**
- * Test of versionGreaterThan method, of class WikittyUtil.
- */
- @Test
- public void testVersionGreaterThan() {
- String v1 = "4.5";
- String v2 = "4.4";
- boolean expResult = true;
- boolean result = WikittyUtil.versionGreaterThan(v1, v2);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of incrementMinorRevision method, of class WikittyUtil.
- */
- @Test
- public void testIncrementMinorRevision() {
- {
- String v = "";
- String expResult = "0.1";
- String result = WikittyUtil.incrementMinorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- {
- String v = "0";
- String expResult = "0.1";
- String result = WikittyUtil.incrementMinorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- {
- String v = "1.0";
- String expResult = "1.1";
- String result = WikittyUtil.incrementMinorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- {
- String v = "1.4";
- String expResult = "1.5";
- String result = WikittyUtil.incrementMinorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- {
- String v = "1.9";
- String expResult = "1.10";
- String result = WikittyUtil.incrementMinorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- }
-
- /**
- * Test la difference de temps entre differente methode d'increment de version
- * qui est sous forme texte.
- *
- * <li> parsing Integer + 1 (757ms / 3 millions d'appels)
- * <li> switch sur les caracteres (419ms / 3 millions d'appels)
- * <li> appel d'une methode d'increment (462ms / 3 millions d'appels)
- */
- @Test
- public void testPerfIncrementMinorRevision() {
- int MAX = 3000000;
- String v = "0";
-
- long time = System.currentTimeMillis();
- for (int cpt = 0; cpt < MAX; cpt++) {
- int i = Integer.parseInt(v) + 1;
- v = String.valueOf(i);
- }
- long timeParse = System.currentTimeMillis() - time;
-
- v = "0";
- time = System.currentTimeMillis();
- for (int cpt = 0; cpt < MAX; cpt++) {
- v = inc(v);
- }
- long timeCall = System.currentTimeMillis() - time;
-
- v = "0";
- time = System.currentTimeMillis();
- for (int cpt = 0; cpt < MAX; cpt++) {
- char[] c = v.toCharArray();
- boolean retenue = true;
- for (int i = c.length - 1; retenue && i >= 0; i--) {
- switch (c[i]) {
- case '0':
- c[i] = '1';
- retenue = false;
- break;
- case '1':
- c[i] = '2';
- retenue = false;
- break;
- case '2':
- c[i] = '3';
- retenue = false;
- break;
- case '3':
- c[i] = '4';
- retenue = false;
- break;
- case '4':
- c[i] = '5';
- retenue = false;
- break;
- case '5':
- c[i] = '6';
- retenue = false;
- break;
- case '6':
- c[i] = '7';
- retenue = false;
- break;
- case '7':
- c[i] = '8';
- retenue = false;
- break;
- case '8':
- c[i] = '9';
- retenue = false;
- break;
- default:
- c[i] = '0';
- break;
- }
- }
- if (retenue) {
- v = "1" + String.valueOf(c);
- } else {
- v = String.valueOf(c);
- }
- }
- long timeSwitch = System.currentTimeMillis() - time;
-
- log.info("Inc parse: " + timeParse + " call: " + timeCall + " switch: "
- + timeSwitch + " (" + v + ")");
- }
-
- protected String inc(String v) {
- char[] c = v.toCharArray();
- boolean retenue = true;
- for (int i = c.length - 1; retenue && i >= 0; i--) {
- switch (c[i]) {
- case '0':
- c[i] = '1';
- retenue = false;
- break;
- case '1':
- c[i] = '2';
- retenue = false;
- break;
- case '2':
- c[i] = '3';
- retenue = false;
- break;
- case '3':
- c[i] = '4';
- retenue = false;
- break;
- case '4':
- c[i] = '5';
- retenue = false;
- break;
- case '5':
- c[i] = '6';
- retenue = false;
- break;
- case '6':
- c[i] = '7';
- retenue = false;
- break;
- case '7':
- c[i] = '8';
- retenue = false;
- break;
- case '8':
- c[i] = '9';
- retenue = false;
- break;
- default:
- c[i] = '0';
- break;
- }
- }
- if (retenue) {
- v = "1" + String.valueOf(c);
- } else {
- v = String.valueOf(c);
- }
- return v;
- }
-
- /**
- * Test of incrementMajorRevision method, of class WikittyUtil.
- */
- @Test
- public void testIncrementMajorRevision() {
- {
- String v = "";
- String expResult = "1.0";
- String result = WikittyUtil.incrementMajorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- {
- String v = "0";
- String expResult = "1.0";
- String result = WikittyUtil.incrementMajorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- {
- String v = "1.5";
- String expResult = "2.0";
- String result = WikittyUtil.incrementMajorRevision(v);
- Assert.assertEquals(expResult, result);
- }
- }
-
- /**
- * Test of toBigDecimal method, of class WikittyUtil.
- */
- @Test
- public void testToBigDecimal() {
- Object value = null;
- BigDecimal expResult = new BigDecimal(0);
- BigDecimal result = WikittyUtil.toBigDecimal(value);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of toBoolean method, of class WikittyUtil.
- */
- @Test
- public void testToBoolean() {
- Object value = null;
- boolean expResult = false;
- boolean result = WikittyUtil.toBoolean(value);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of toString method, of class WikittyUtil.
- */
- @Test
- public void testToString() {
- Object value = null;
- String expResult = null;
- String result = WikittyUtil.toString(value);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of toDate method, of class WikittyUtil.
- */
- @Test
- public void testToDate() {
- Object value = null;
- Date expResult = null;
- Date result = WikittyUtil.toDate(value);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of toWikitty method, of class WikittyUtil.
- */
- @Test
- public void testToWikitty() {
- Object value = null;
- String expResult = null;
- String result = WikittyUtil.toWikitty(value);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of toList method, of class WikittyUtil.
- */
- @Test
- public void testToList() {
- Object value = null;
- Class clazz = Object.class;
- List<Object> expResult = null;
- List<Object> result = WikittyUtil.toList(value, clazz);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of getClass method, of class WikittyUtil.
- */
- @Test
- public void testGetClass() {
- Object value = null;
- Class expResult = null;
- Class result = WikittyUtil.getClass(value);
- Assert.assertEquals(expResult, result);
- }
-
- /**
- * Test of cast method, of class WikittyUtil.
- */
- @Test
- public void testCast() {
- {
- Object obj = null;
- Class<Object> clazz = null;
- Object expResult = null;
- Object result = WikittyUtil.cast(obj, clazz);
- Assert.assertEquals(expResult, result);
- }
- {
- Object obj = "Toto";
- Class<Object> clazz = Object.class;
- Object expResult = "Toto";
- Object result = WikittyUtil.cast(obj, clazz);
- Assert.assertEquals(expResult, result);
- }
- {
- Object obj = new Object();
- Class<String> clazz = String.class;
- Object expResult = obj;
- try {
- Object result = WikittyUtil.cast(obj, clazz);
- Assert.fail("cast object to string !!!");
- } catch (Exception eee) {
- // ok
- }
- }
- }
-
- @Test
- public void testUID() throws Exception {
- for (int i = 0; i < 8; i++) {
- String uid = WikittyUtil.genUID();
- log.info("uid = " + uid);
- }
- }
-
- @Test
- public void testWikittyExtensionBuild() {
- String extName = "Produit";
-
- LinkedHashMap<String, FieldType> fields = WikittyUtil
- .buildFieldMapExtension("String name", "Numeric amount",
- "Date buildDate");
-
- Assert.assertNotNull(fields.get("name"));
- Assert.assertNotNull(fields.get("amount"));
- Assert.assertNotNull(fields.get("buildDate"));
-
- WikittyExtension ext = new WikittyExtension(extName, "1", fields);
-
- Assert.assertNotNull(ext.getFieldType("name"));
- Assert.assertNotNull(ext.getFieldType("amount"));
- Assert.assertNotNull(ext.getFieldType("buildDate"));
- }
-
- @Test
- public void testWikittyExtensionTagValue() {
- String accentValue = "Avèc_dés_açcents";
- String floatValue = "3.3";
- String dateValue = "2009-12-10T12:45:31:551Z";
- String whitespaceCharacters = "ertyuio\n <df ds \r\rf sf >sd f\n\tdf";
-
- LinkedHashMap<String, FieldType> fields = WikittyUtil
- .buildFieldMapExtension("String name test=" + accentValue,
- "Numeric amount defaultValue=" + floatValue,
- "Date buildDate now=" + dateValue);
-
- FieldType fieldName = fields.get("name");
- Assert.assertEquals(accentValue, fieldName.getTagValue("test"));
- Assert.assertEquals(floatValue,
- fields.get("amount").getTagValue("defaultValue"));
- Assert.assertEquals(dateValue,
- fields.get("buildDate").getTagValue("now"));
-
- fieldName.addTagValue("whitespaceCharacters", whitespaceCharacters);
- String toDefinition = fieldName.toDefinition("name");
- WikittyUtil.parseField(toDefinition, fieldName);
- }
-
- // use in testNewInstance
- static class MonLabel extends WikittyLabelImpl {
- }
-
- /** check that a date is the same after parse and format */
- @Test
- public void testDateConsistency() throws Exception {
- Date date = WikittyUtil.parseDate("30/01/2009");
- Date dateFormatedAndParsed = WikittyUtil.parseDate(WikittyUtil
- .formatDate(date));
- Assert.assertEquals(date, dateFormatedAndParsed);
-
- date = new Date();
- dateFormatedAndParsed = WikittyUtil.parseDate(WikittyUtil
- .formatDate(date));
- Assert.assertEquals(date, dateFormatedAndParsed);
-
- }
-
- @Test
- public void testParseDate() throws ParseException {
- String date = "1982-01-22T23:00:00.000+0000Z";
- Date date2 = WikittyUtil.parseDate(date);
- Assert.assertNotNull(date2);
- }
-
- @Test
- public void testGetWikitty() {
-
- WikittyLabel label = new WikittyLabelImpl();
- label.addLabels("Test");
-
- String wikittyId = label.getWikittyId();
-
- Wikitty labelWikitty = WikittyUtil.getWikitty(null,null,label);
-
- Assert.assertEquals(wikittyId, labelWikitty.getId());
- Assert.assertEquals(Collections.singleton("Test"),labelWikitty.getFieldAsObject(WikittyLabel.EXT_WIKITTYLABEL,WikittyLabel.FIELD_WIKITTYLABEL_LABELS));
-
- ApplicationConfig config = WikittyConfig.getConfig();
- WikittyServiceInMemory ws = new WikittyServiceInMemory(config);
-
- ws.store(null, Collections.singleton(labelWikitty), false);
-
- LabelDTO dto = new LabelDTO(wikittyId);
- dto.addLabels("toto");
- dto.setWikittyVersion("2.0");
-
- Wikitty w = WikittyUtil.getWikitty(ws, null, dto);
- WikittyLabel l = new WikittyLabelImpl(w);
-
- Assert.assertEquals(dto.getWikittyId(), l.getWikittyId());
- Assert.assertEquals(dto.getWikittyVersion(), l.getWikittyVersion());
- Assert.assertEquals(dto.getLabels(), l.getLabels());
- }
-
- @Test
- public void testCopyBean() throws Exception {
- WikittyLabel source = new WikittyLabelImpl();
- source.addLabels("toto");
- WikittyLabel dest = new WikittyLabelImpl();
-
- WikittyUtil.copyBean(source, dest);
-
- Assert.assertFalse(source.getWikittyId().equals(dest.getWikittyId()));
- Assert.assertEquals(source.getWikittyVersion(), dest.getWikittyVersion());
- Assert.assertEquals(source.getLabels(), dest.getLabels());
- }
-
- @Test
- public void testCopyFrom() throws Exception {
- {
-// System.out.println("Dto => W");
- WikittyLabel source = new LabelDTO(WikittyUtil.genUID());
- source.addLabels("toto");
- source.addLabels("titi");
- WikittyLabel dest = new WikittyLabelImpl();
-
- dest.copyFrom(source);
- Assert.assertFalse(source.getWikittyId().equals(dest.getWikittyId()));
- Assert.assertEquals(source.getWikittyVersion(), dest.getWikittyVersion());
- Assert.assertEquals(source.getLabels(), dest.getLabels());
- }
- {
-// System.out.println("W => Dto");
- WikittyLabel source = new WikittyLabelImpl();
- source.addLabels("toto");
- source.addLabels("titi");
- WikittyLabel dest = new LabelDTO(WikittyUtil.genUID());
-
- dest.copyFrom(source);
- Assert.assertFalse(source.getWikittyId().equals(dest.getWikittyId()));
- Assert.assertEquals(source.getWikittyVersion(), dest.getWikittyVersion());
- Assert.assertEquals(source.getLabels(), dest.getLabels());
- }
- }
-
- @Test
- public void testClone() throws Exception {
- {
- WikittyLabel source = new WikittyLabelImpl();
- source.setWikittyVersion("1.0");
- source.addLabels("toto");
- source.addLabels("titi");
-
- Wikitty labelWikitty = WikittyUtil.getWikitty(null, null, source);
- Wikitty cloned = WikittyUtil.clone(labelWikitty, false);
-
- WikittyLabelImpl labelCloned = new WikittyLabelImpl(cloned);
-
- Assert.assertTrue(labelWikitty.getId().equals(cloned.getId()));
- Assert.assertEquals(labelWikitty.getVersion(), cloned.getVersion());
- Assert.assertTrue(source.getWikittyId().equals(labelCloned.getWikittyId()));
- Assert.assertEquals(source.getWikittyVersion(), labelCloned.getWikittyVersion());
- Assert.assertEquals(source.getLabels(), labelCloned.getLabels());
- }
- {
- WikittyLabel source = new WikittyLabelImpl();
- source.setWikittyVersion("1.0");
- source.addLabels("toto");
- source.addLabels("titi");
-
- Wikitty labelWikitty = WikittyUtil.getWikitty(null, null, source);
- Wikitty cloned = WikittyUtil.clone(labelWikitty, true);
-
- WikittyLabelImpl labelCloned = new WikittyLabelImpl(cloned);
-
- Assert.assertFalse(labelWikitty.getId().equals(cloned.getId()));
- Assert.assertNotSame(labelWikitty.getVersion(), cloned.getVersion());
- Assert.assertFalse(source.getWikittyId().equals(labelCloned.getWikittyId()));
- Assert.assertNotSame(source.getWikittyVersion(), labelCloned.getWikittyVersion());
- Assert.assertEquals(source.getLabels(), labelCloned.getLabels());
- }
- }
-
- static public class LabelDTO implements WikittyLabel {
-
- protected String wikittyId;
- protected String wikittyVersion = "0.0";
- @WikittyField(fqn="WikittyLabel.labels")
- protected Set<String> labels = new LinkedHashSet<String>();
-
- public LabelDTO(String wikittyId) {
- this.wikittyId = wikittyId;
- }
-
- @Override
- public String getWikittyId() {
- return wikittyId;
- }
-
- @Override
- public String getWikittyVersion() {
- return wikittyVersion;
- }
-
- @Override
- public void setWikittyVersion(String version) {
- this.wikittyVersion = version;
- }
-
- /**
- * getLabels :
- * @return Set<String>
- */
- @Override
- public Set<String> getLabels() {
- return labels;
- }
-
- @Override
- public void setLabels(Set<String> labels) {
- this.labels = new LinkedHashSet<String>(labels);
- }
-
- @Override
- public void addAllLabels(Collection<String> labels) {
- this.labels.addAll(labels);
- }
-
- /**
- * addLabels :
- * @param element
- */
- @Override
- public void addLabels(String... element) {
- for (String v : element) {
- labels.add(v);
- }
- }
-
- /**
- * removeLabels :
- * @param element
- */
- @Override
- public void removeLabels(String... element) {
- for (String v : element) {
- labels.remove(v);
- }
- }
-
- /**
- * clearLabels :
- */
- @Override
- public void clearLabels() {
- labels.clear();
- }
-
- @Override
- public void copyFrom(BusinessEntity source) {
- try {
- BeanUtils.copyProperties(this, source);
- } catch (Exception eee) {
- throw new WikittyException(String.format(
- "Can't copy source object %s", source), eee);
- }
- }
-
- @Override
- public Collection<String> getExtensionFields(String ext) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Collection<String> getExtensionNames() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public Object getField(String ext, String fieldName) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void setField(String ext, String fieldName, Object value) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void addPropertyChangeListener(PropertyChangeListener listener) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void removePropertyChangeListener(PropertyChangeListener listener) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- @Override
- public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- }
-}
1
0
r1362 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . api
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 14:01:55 +0100 (Wed, 25 Jan 2012)
New Revision: 1362
Url: http://nuiton.org/repositories/revision/wikitty/1362
Log:
Move test to wikitty client test
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-25 10:21:09 UTC (rev 1361)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-25 13:01:55 UTC (rev 1362)
@@ -26,7 +26,10 @@
package org.nuiton.wikitty;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
import org.junit.Assert;
import org.junit.Test;
@@ -49,6 +52,10 @@
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
+import org.nuiton.wikitty.search.Search;
+import org.nuiton.wikitty.search.operators.Like;
import org.nuiton.wikitty.test.Category;
import org.nuiton.wikitty.test.Product;
@@ -830,4 +837,154 @@
WikittyQueryResult<Product> results4 = wikittyClient.findAllByQuery(Product.class, query4);
Assert.assertEquals(1, results4.getTotalResult());
}
+
+ @Test
+ public void testQueryMakerLowerCaseSearch() {
+ assumeTrueSearchEngineCanRunTest(); // lower case
+
+ 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());
+
+ WikittyQuery query2 = new WikittyQueryMaker().eq(Product.FQ_FIELD_PRODUCT_NAME, "lanfeust").end();
+ WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2);
+ Assert.assertEquals(0, results2.getTotalResult());
+
+ WikittyQuery query3 = new WikittyQueryMaker().like(Product.FQ_FIELD_PRODUCT_NAME, "Lanfeust").end();
+ WikittyQueryResult<Product> results3 = wikittyClient.findAllByQuery(Product.class, query3);
+ Assert.assertEquals(1, results3.getTotalResult());
+
+ WikittyQuery query4 = new WikittyQueryMaker().like(Product.FQ_FIELD_PRODUCT_NAME, "lanfeust").end();
+ WikittyQueryResult<Product> results4 = wikittyClient.findAllByQuery(Product.class, query4);
+ Assert.assertEquals(1, results4.getTotalResult());
+ }
+
+ @Test
+ public void testQueryParserLowerCaseSearch() {
+ assumeTrueSearchEngineCanRunTest(); // lower case
+
+ WikittyQuery query1 = WikittyQueryParser.parse("Product.name=Lanfeust");
+ WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1);
+ Assert.assertEquals(1, results1.getTotalResult());
+
+ WikittyQuery query2 = WikittyQueryParser.parse("Product.name=lanfeust");
+ WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2);
+ Assert.assertEquals(0, results2.getTotalResult());
+
+ WikittyQuery query3 = WikittyQueryParser.parse("Product.name LIKE Lanfeust");
+ WikittyQueryResult<Product> results3 = wikittyClient.findAllByQuery(Product.class, query3);
+ Assert.assertEquals(1, results3.getTotalResult());
+
+ WikittyQuery query4 = WikittyQueryParser.parse("Product.name LIKE lanfeust");
+ WikittyQueryResult<Product> results4 = wikittyClient.findAllByQuery(Product.class, query4);
+ Assert.assertEquals(1, results4.getTotalResult());
+ }
+
+ /**
+ * Test sort on wildcard fields.
+ */
+ @Test
+ public void testSearchWithSort1() {
+ assumeTrueSearchEngineCanRunTest(); // sorting
+
+ WikittyQuery query1 = WikittyQueryParser.parse("*.name=*");
+ // FIXME uncomment query1.setSortAscending("*.name");
+ WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1);
+ Assert.assertEquals(18, results1.getTotalResult());
+ }
+
+ /**
+ * Creer une nouvelle extension avec des données non ordonnées et fait
+ * une recherche triée dessus.
+ */
+ @Test
+ public void testSearchWithSort2() {
+ assumeTrueSearchEngineCanRunTest(); // sorting
+
+ //Create ext sortable
+ String sortableExtName = "sortable";
+ String numFieldName = "num";
+ WikittyExtension sortable = ExtensionFactory.create(sortableExtName, "1.0")
+ .addField(numFieldName, WikittyTypes.NUMERIC)
+ .extension();
+ wikittyClient.storeExtension(sortable);
+
+ List<Integer> expected = new ArrayList<Integer>();
+ expected.add(10);
+ expected.add(1);
+ expected.add(7);
+
+ //Create wikitty sortable
+ for (Integer i : expected) {
+ Wikitty w = new WikittyImpl();
+ w.addExtension(sortable);
+ w.setField(sortableExtName, numFieldName, i);
+ wikittyClient.store(w);
+
+ }
+ Collections.sort(expected);
+ WikittyQuery query2 = new WikittyQueryMaker().exteq(sortableExtName).end();
+ // FIXME uncomment query2.setSortAscending(WikittyUtil.getFQFieldName(sortableExtName, numFieldName));
+ WikittyQueryResult<Wikitty> results2 = wikittyClient.findAllByQuery(Wikitty.class, query2);
+
+ List<Integer> resulted = new ArrayList<Integer>();
+ for (Wikitty w : results2.getAll()) {
+ resulted.add(w.getFieldAsInt(sortableExtName, numFieldName));
+ }
+ Assert.assertEquals(expected, resulted);
+ }
+
+ /**
+ * Test sort on test data.
+ */
+ @Test
+ public void testSearchWithSortTestData() {
+ assumeTrueSearchEngineCanRunTest(); // sorting
+
+ WikittyQuery query1 = WikittyQueryParser.parse("Product.price <= 100");
+ query1.setSortDescending(Product.ELEMENT_FIELD_PRODUCT_PRICE);
+ WikittyQueryResult<Product> results1 = wikittyClient.findAllByQuery(Product.class, query1);
+ Assert.assertEquals(100, results1.get(0).getPriceFromProduct());
+ Assert.assertEquals(42, results1.get(1).getPriceFromProduct());
+ Assert.assertEquals(15, results1.get(2).getPriceFromProduct());
+ Assert.assertEquals(13, results1.get(3).getPriceFromProduct());
+ }
+
+ /**
+ * Test de la selection et de la pagination.
+ * @throws IOException
+ */
+ @Test
+ public void testPaginedSearchSelect() throws IOException {
+ assumeTrueSearchEngineCanRunTest(); // pagination
+ importBooks();
+
+ // first
+ WikittyQuery query1 = new WikittyQueryMaker()
+ .select(Product.ELEMENT_FIELD_PRODUCT_PRICE)
+ .exteq(Product.EXT_PRODUCT).end();
+ query1.setSortAscending(Product.ELEMENT_FIELD_PRODUCT_PRICE);
+ query1.setFirst(0);
+ query1.setLimit(2);
+ WikittyQueryResult<String> results1 = wikittyClient.findAllByQuery(query1);
+ // 17 books, but only 11 differents prices ?
+ Assert.assertEquals(11, results1.getTotalResult());
+ Assert.assertEquals(2, results1.getAll().size());
+ // FIXME echatellier 20120125 fails because of "13" != "13.0" (integer in test)
+ Assert.assertEquals(13, results1.get(0));
+
+ // second
+ query1.setFirst(0);
+ query1.setLimit(-1);
+ results1 = wikittyClient.findAllByQuery(query1);
+ Assert.assertEquals(17, results1.getTotalResult());
+ Assert.assertEquals(17, results1.getAll().size());
+
+ // third
+ query1.setFirst(0);
+ query1.setLimit(0);
+ results1 = wikittyClient.findAllByQuery(query1);
+ Assert.assertEquals(17, results1.getTotalResult());
+ Assert.assertEquals(0, results1.getAll().size());
+ }
}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2012-01-25 10:21:09 UTC (rev 1361)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2012-01-25 13:01:55 UTC (rev 1362)
@@ -1,492 +0,0 @@
-/*
- * #%L
- * Wikitty :: api
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2012 CodeLutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>.
- * #L%
- */
-package org.nuiton.wikitty.api;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.test.Category;
-import org.nuiton.wikitty.test.CategoryImpl;
-import org.nuiton.wikitty.entities.ExtensionFactory;
-import org.nuiton.wikitty.entities.FieldType;
-import org.nuiton.wikitty.test.Product;
-import org.nuiton.wikitty.test.ProductImpl;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.entities.WikittyImpl;
-import org.nuiton.wikitty.search.Criteria;
-import org.nuiton.wikitty.search.PagedResult;
-import org.nuiton.wikitty.search.Search;
-import org.nuiton.wikitty.search.operators.Element;
-import org.nuiton.wikitty.search.operators.Like;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.nuiton.wikitty.entities.WikittyTypes;
-
-/**
- * User: couteau
- * Date: 05/04/11
- */
-public abstract class AbstractSearchTest {
-
- protected final static Log log = LogFactory.getLog(AbstractSearchTest.class);
-
- public static final String EXT_PRODUCT = "Product";
- public static final String EXT_CATEGORY = "Category";
- public static final String PRODUCT_PRICE = "price";
- public static final String PRODUCT_NAME = "name";
- public static final String PRODUCT_CATEGORY = "category";
- public static final String PRODUCT_COLOR = "colors";
- public static final String CATEGORY_NAME = "name";
- public static final String VERSION = "3.0";
- public static String W_ID ="";
- public static String W_ENTITY_ID ="";
-
- protected WikittyProxy proxy = new WikittyProxy(getWikittyService());
-
- @Before
- public void initData(){
-
- ///////////////////////////////////////////////////////////////////////
- // CREATE EXTENSIONS NEEDED FOR TESTS //
- ///////////////////////////////////////////////////////////////////////
-
- /*//Create product extension
- WikittyExtension product = ExtensionFactory.create(EXT_PRODUCT, VERSION)
- .addField(PRODUCT_PRICE, WikittyTypes.NUMERIC)
- .addField(PRODUCT_NAME, WikittyTypes.STRING)
- .addField(PRODUCT_CATEGORY, WikittyTypes.WIKITTY)
- .addField(PRODUCT_COLOR, WikittyTypes.STRING).maxOccur(Integer.MAX_VALUE)
- .extension();
- proxy.storeExtension(product);
-
- //Create category extension
- WikittyExtension category = ExtensionFactory.create(EXT_CATEGORY, VERSION)
- .addField(CATEGORY_NAME, WikittyTypes.STRING)
- .extension();
- proxy.storeExtension(category);*/
-
- ///////////////////////////////////////////////////////////////////////
- // CREATE CATEGORIES //
- ///////////////////////////////////////////////////////////////////////
-
- //Create wikitty category named "Hardware"
- /*Wikitty category1 = new WikittyImpl();
- category1.addExtension(category);
- category1.setField(EXT_CATEGORY, CATEGORY_NAME, "HardWare");
- proxy.store(category1);
-
- //Create wikitty category named "Wrong category"
- Wikitty category2 = new WikittyImpl();
- category2.addExtension(category);
- category2.setField(EXT_CATEGORY, CATEGORY_NAME, "Wrong category");
- proxy.store(category2);
-
- ///////////////////////////////////////////////////////////////////////
- // CREATE PRODUCTS //
- ///////////////////////////////////////////////////////////////////////
-
- //Create product named Paint, price is 20 category is category1
- Wikitty product1 = new WikittyImpl();
- product1.addExtension(product);
- product1.setField(EXT_PRODUCT, PRODUCT_NAME, "Paint");
- product1.setField(EXT_PRODUCT, PRODUCT_PRICE, 20);
- product1.setField(EXT_PRODUCT, PRODUCT_CATEGORY, category1.getId());*/
- Set<String> colors1 = new HashSet<String>();
- colors1.add("Blue");
- colors1.add("Black");
- /*product1.setField(EXT_PRODUCT, PRODUCT_COLOR, colors1);
- proxy.store(product1);*/
-
- //Create product named Screwdriver, price is 3, category is category2
- /*Wikitty product2 = new WikittyImpl();
- product2.addExtension(product);
- product2.setField(EXT_PRODUCT, PRODUCT_NAME, "Screwdriver");
- product2.setField(EXT_PRODUCT, PRODUCT_PRICE, 3);
- product2.setField(EXT_PRODUCT, PRODUCT_CATEGORY, category2.getId());*/
- Set<String> colors2 = new HashSet<String>();
- colors2.add("Red");
- colors2.add("Black");
- /*product2.setField(EXT_PRODUCT, PRODUCT_COLOR, colors2);
- proxy.store(product2);*/
-
- //Create product named Paint Blue, price is 22, category is category2
- /*Wikitty product3 = new WikittyImpl();
- product3.addExtension(product);
- product3.setField(EXT_PRODUCT, PRODUCT_NAME, "Paint Blue");
- product3.setField(EXT_PRODUCT, PRODUCT_PRICE, 22);
- product3.setField(EXT_PRODUCT, PRODUCT_CATEGORY, category2.getId());*/
- Set<String> colors3 = new HashSet<String>();
- colors3.add("Blue");
- /*product3.setField(EXT_PRODUCT, PRODUCT_COLOR, colors3);
- proxy.store(product3);*/
-
- /*W_ID = product3.getId();*/
-
- ///////////////////////////////////////////////////////////////////////
- // CREATE CATEGORIES ENTITIES //
- ///////////////////////////////////////////////////////////////////////
-
- //Create wikitty category named "Hardware"
- Category Category1 = new CategoryImpl();
- Category1.setName("HardWare");
- proxy.store(Category1);
-
- //Create wikitty category named "Wrong category"
- Category Category2 = new CategoryImpl();
- Category2.setName("Wrong category");
- proxy.store(Category2);
-
- ///////////////////////////////////////////////////////////////////////
- // CREATE PRODUCTS ENTITIES //
- ///////////////////////////////////////////////////////////////////////
-
- //Create product named Paint, price is 20 category is category1
- Product Product1 = new ProductImpl();
- Product1.setName("Paint");
- Product1.setPriceFromProduct(20);
- Product1.setCategory(Category1.getWikittyId());
- Product1.setColors(colors1);
- proxy.store(Product1);
-
- //Create product named Screwdriver, price is 3, category is category2
- Product Product2 = new ProductImpl();
- Product2.setName("Screwdriver");
- Product2.setPriceFromProduct(3);
- Product2.setCategory(Category2.getWikittyId());
- Product2.setColors(colors2);
- proxy.store(Product2);
-
- //Create product named Paint Blue, price is 22, category is category2
- Product Product3 = new ProductImpl();
- Product3.setName("Paint Blue");
- Product3.setPriceFromProduct(22);
- Product3.setCategory(Category2.getWikittyId());
- Product3.setColors(colors3);
- proxy.store(Product3);
-
- W_ENTITY_ID = Product3.getWikittyId();
-
- }
-
- protected void assumeNotYetImplementedInMemory() {
- boolean isInMomory = true;
- if (isInMomory) {
- log.warn("Not yet implemented in memory, skipping");
- }
- Assume.assumeTrue(!isInMomory);
- }
-
- @Test
- public void testSearchAllLowerCase() {
- // FIXME implement it in memory
- assumeNotYetImplementedInMemory();
- {
- Criteria criteria = Search.query().eq("Category.name", "HardWare").criteria();
- PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().eq("Category.name", "hardware").criteria();
- PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria);
- assertPagedResultSizeEquals(0, pagedResult);
- }
- {
- Criteria criteria = Search.query().like("Category.name", "HardWare", Like.SearchAs.ToLowerCase).criteria();
- PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().like("Category.name", "hardware", Like.SearchAs.ToLowerCase).criteria();
- PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().like("Category.name", "HardWare", Like.SearchAs.AsText).criteria();
- PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().like("Category.name", "hardware", Like.SearchAs.AsText).criteria();
- PagedResult<Wikitty> pagedResult = proxy.findAllByCriteria(criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- }
-
- @Test
- public void testEntitiesSearchAllLowerCase() {
- // FIXME implement it in memory
- assumeNotYetImplementedInMemory();
- {
- Criteria criteria = Search.query().eq(Category.FQ_FIELD_CATEGORY_NAME, "HardWare").criteria();
- PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().eq(Category.FQ_FIELD_CATEGORY_NAME, "hardware").criteria();
- PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
- assertPagedResultSizeEquals(0, pagedResult);
- }
- {
- Criteria criteria = Search.query().like(Category.FQ_FIELD_CATEGORY_NAME, "HardWare", Like.SearchAs.ToLowerCase).criteria();
- PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().like(Category.FQ_FIELD_CATEGORY_NAME, "hardware", Like.SearchAs.ToLowerCase).criteria();
- PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().like(Category.FQ_FIELD_CATEGORY_NAME, "HardWare", Like.SearchAs.AsText).criteria();
- PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- {
- Criteria criteria = Search.query().like(Category.FQ_FIELD_CATEGORY_NAME, "hardware", Like.SearchAs.AsText).criteria();
- PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
- assertPagedResultSizeEquals(1, pagedResult);
- }
- }
-
- @Test
- public void testSearchWithSort() {
- // FIXME implement it in memory
- assumeNotYetImplementedInMemory();
- {
- Criteria criteria = Search.query().like("*.name", "*").criteria();
- criteria.setSortAscending("*.name");
- try {
- proxy.findAllByCriteria(criteria);
- } catch (Exception eee) {
- eee.printStackTrace();
- Assert.fail();
- }
- }
- //Create ext sortable
- String sortableExtName = "sortable";
- String numFieldName = "num";
- WikittyExtension sortable = ExtensionFactory.create(sortableExtName, "1.0")
- .addField(numFieldName, WikittyTypes.NUMERIC)
- .extension();
- proxy.storeExtension(sortable);
-
- List<Integer> expected = new ArrayList<Integer>();
- expected.add(10);
- expected.add(1);
- expected.add(7);
-
- //Create wikitty sortable
- for (Integer i : expected) {
- Wikitty w = new WikittyImpl();
- w.addExtension(sortable);
- w.setField(sortableExtName, numFieldName, i);
- proxy.store(w);
-
- }
- Collections.sort(expected);
- {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, sortableExtName).criteria();
- criteria.setSortAscending(WikittyUtil.getFQFieldName(sortableExtName, numFieldName));
- PagedResult<Wikitty> result = proxy.findAllByCriteria(criteria);
-
- List<Integer> resulted = new ArrayList<Integer>();
- for (Wikitty w : result) {
- resulted.add(w.getFieldAsInt(sortableExtName, numFieldName));
- }
- Assert.assertEquals(expected, resulted);
- }
- }
-
- @Test
- public void testSelect() throws Exception {
-
- // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
- assumeNotYetImplementedInMemory();
-
- Search query = Search.query().bw("Product.price", "15", "25")
- .sw("Product.name", "Paint");
- Criteria selectCriteria = query.criteria();
- selectCriteria.setSelect("Product.category");
-
- PagedResult<Wikitty> results = proxy.findAllByCriteria(selectCriteria);
- assertPagedResultSizeEquals(2, results);
-
- //Test with an associated search that returns nothing
- query = Search.query().bw("Product.price", "15", "25")
- .sw("Product.name", "Paint");
- selectCriteria = query.criteria();
- selectCriteria.setSelect("Product.name");
-
- results = proxy.findAllByCriteria(selectCriteria);
- assertPagedResultSizeEquals(0, results);
- }
-
- @Test
- public void testEntitiesSelect() throws Exception {
-
- // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
- assumeNotYetImplementedInMemory();
-
- Search query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25")
- .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint");
- Criteria selectCriteria = query.criteria();
- selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
-
- PagedResult<Category> results = proxy.findAllByCriteria(Category.class, selectCriteria);
- assertPagedResultSizeEquals(2, results);
-
- //Test with an associated search that returns nothing
- query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25")
- .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint");
- selectCriteria = query.criteria();
- selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_NAME);
-
- results = proxy.findAllByCriteria(Category.class, selectCriteria);
- assertPagedResultSizeEquals(0, results);
- }
-
-// TODO sletellier 20111027 : try with more datas
- @Test
- public void testPaginedSelect() throws Exception {
-
- // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
- assumeNotYetImplementedInMemory();
-
- Search query = Search.query().exteq(EXT_PRODUCT);
- Criteria selectCriteria = query.criteria();
- selectCriteria.setSelect("Product.category");
- selectCriteria.setFirstIndex(1);
- selectCriteria.setEndIndex(1);
-
- PagedResult<Wikitty> results = proxy.findAllByCriteria(selectCriteria);
- assertPaginedPagedResultSizeEquals(1, 2, results);
-
- query = Search.query().exteq(EXT_PRODUCT);
- selectCriteria = query.criteria();
- selectCriteria.setSelect("Product.category");
- selectCriteria.setFirstIndex(0);
- // No limit
- selectCriteria.setEndIndex(-1);
-
- results = proxy.findAllByCriteria(selectCriteria);
- assertPaginedPagedResultSizeEquals(2, 2, results);
-
- query = Search.query().exteq(EXT_PRODUCT);
- selectCriteria = query.criteria();
- selectCriteria.setSelect("Product.category");
- selectCriteria.setFirstIndex(0);
- selectCriteria.setEndIndex(0);
-
- results = proxy.findAllByCriteria(selectCriteria);
- assertPaginedPagedResultSizeEquals(1, 2, results);
-
- query = Search.query().exteq(EXT_PRODUCT);
- selectCriteria = query.criteria();
- selectCriteria.setSelect("Product.category");
- selectCriteria.setFirstIndex(0);
- selectCriteria.setEndIndex(1);
-
- results = proxy.findAllByCriteria(selectCriteria);
- assertPaginedPagedResultSizeEquals(2, 2, results);
- }
-
-// TODO sletellier 20111027 : try with more datas
- @Test
- public void testPaginedEntitiesSelect() throws Exception {
-
- // FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
- assumeNotYetImplementedInMemory();
-
- Search query = Search.query().exteq(Product.EXT_PRODUCT);
- Criteria selectCriteria = query.criteria();
- selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
- selectCriteria.setFirstIndex(1);
- selectCriteria.setEndIndex(1);
-
- PagedResult<Category> results = proxy.findAllByCriteria(Category.class, selectCriteria);
- assertPaginedPagedResultSizeEquals(1, 2, results);
-
- query = Search.query().exteq(Product.EXT_PRODUCT);
- selectCriteria = query.criteria();
- selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
- selectCriteria.setFirstIndex(0);
- // No limit
- selectCriteria.setEndIndex(-1);
-
- results = proxy.findAllByCriteria(Category.class, selectCriteria);
- assertPaginedPagedResultSizeEquals(2, 2, results);
-
- query = Search.query().exteq(Product.EXT_PRODUCT);
- selectCriteria = query.criteria();
- selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
- selectCriteria.setFirstIndex(0);
- selectCriteria.setEndIndex(0);
-
- results = proxy.findAllByCriteria(Category.class, selectCriteria);
- assertPaginedPagedResultSizeEquals(1, 2, results);
-
- query = Search.query().exteq(Product.EXT_PRODUCT);
- selectCriteria = query.criteria();
- selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
- selectCriteria.setFirstIndex(0);
- selectCriteria.setEndIndex(1);
-
- results = proxy.findAllByCriteria(Category.class, selectCriteria);
- assertPaginedPagedResultSizeEquals(2, 2, results);
- }
-
- @Test
- public void testComplexQueries() throws Exception {
- //TODO JC-07-04-2011 Write test
- }
-
- // Dont use this method if criteria use pagination
- protected void assertPagedResultSizeEquals(int expected, PagedResult result) {
- Assert.assertEquals(expected, result.size());
- Assert.assertEquals(expected, result.getNumFound());
- }
-
- // Use this method if criteria use pagination
- protected void assertPaginedPagedResultSizeEquals(int expected, int expectedNumFound, PagedResult result) {
- Assert.assertEquals(expected, result.size());
- Assert.assertEquals(expectedNumFound, result.getNumFound());
- }
-
- //TODO JC-07-04-2011 Write test on sortBy, facets, and with other types (date,...)
-
- public abstract WikittyService getWikittyService();
-}
1
0
r1361 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 11:21:09 +0100 (Wed, 25 Jan 2012)
New Revision: 1361
Url: http://nuiton.org/repositories/revision/wikitty/1361
Log:
Fix javadoc
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryMaker.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryMaker.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryMaker.java 2012-01-25 09:31:23 UTC (rev 1360)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryMaker.java 2012-01-25 10:21:09 UTC (rev 1361)
@@ -924,7 +924,6 @@
*
* @param fqfield the element on which the restriction is put
* @param value
- * @param searchAs
* @return {@code this}
* @see {@link Like}
*/
1
0
r1360 - trunk/wikitty-api/src/test/java/org/nuiton/wikitty
by echatellier@users.nuiton.org 25 Jan '12
by echatellier@users.nuiton.org 25 Jan '12
25 Jan '12
Author: echatellier
Date: 2012-01-25 10:31:23 +0100 (Wed, 25 Jan 2012)
New Revision: 1360
Url: http://nuiton.org/repositories/revision/wikitty/1360
Log:
Disable test that can't run with in memory search engine
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-25 09:08:33 UTC (rev 1359)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-25 09:31:23 UTC (rev 1360)
@@ -136,6 +136,7 @@
public void testFindQueryOnMovies() {
// The Dark Knight Rises
// Die hard 4
+ assumeTrueSearchEngineCanRunTest(); // ? in regex
WikittyQuery query = new WikittyQueryMaker().eq("Movies.name", "*ar?*").end();
WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query);
Assert.assertEquals(2, results.getAll().size());
@@ -767,7 +768,7 @@
WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query);
Assert.assertEquals(3, results.getTotalResult());
}
-
+
/**
* Test avec des requettes imbriquées.
*
@@ -776,7 +777,7 @@
@Test
public void testQueryParserSelect() throws IOException {
importBooks();
-
+
// les livres dont le prix est entre 0 et 75
// et qui appartiennet a une catégory nommé "history"
WikittyQuery query = WikittyQueryParser.parse("Product.price=[0 TO 75] AND Product.category={SELECT id WHERE Category.code = history}");
@@ -786,10 +787,12 @@
@Test
public void testQueryMarkerWilcardEquals() {
+ assumeTrueSearchEngineCanRunTest(); // wildcard
+
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());
-
+
WikittyQuery query2 = new WikittyQueryMaker().eq("*" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + Product.FIELD_PRODUCT_NAME, "Lanfeust").end();
WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2);
Assert.assertEquals(1, results2.getTotalResult());
@@ -807,10 +810,12 @@
@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());
-
+
WikittyQuery query2 = WikittyQueryParser.parse("*.name=Lanfeust");
WikittyQueryResult<Product> results2 = wikittyClient.findAllByQuery(Product.class, query2);
Assert.assertEquals(1, results2.getTotalResult());
1
0