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
Author: echatellier
Date: 2012-01-20 16:09:01 +0100 (Fri, 20 Jan 2012)
New Revision: 1349
Url: http://nuiton.org/repositories/revision/wikitty/1349
Log:
Erreur de commentaire d'operateur
Modified:
trunk/src/site/rst/user/query.rst
Modified: trunk/src/site/rst/user/query.rst
===================================================================
--- trunk/src/site/rst/user/query.rst 2012-01-20 14:08:37 UTC (rev 1348)
+++ trunk/src/site/rst/user/query.rst 2012-01-20 15:09:01 UTC (rev 1349)
@@ -123,7 +123,7 @@
WikittyQuery q = WikittyQueryParser.parse("User.lastname!=*ssin");
WikittyQuery q = WikittyQueryParser.parse("User.lastname!=*ssin");
-Contient tous : containsAll
+Contient un : containsOne
+++++++++++++++++++++++++++
Vérifie si un champ multivalué contient au moins une valeur de la liste des
1
0
r1348 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . api entities
by echatellier@users.nuiton.org 20 Jan '12
by echatellier@users.nuiton.org 20 Jan '12
20 Jan '12
Author: echatellier
Date: 2012-01-20 15:08:37 +0100 (Fri, 20 Jan 2012)
New Revision: 1348
Url: http://nuiton.org/repositories/revision/wikitty/1348
Log:
Remove "common" test (moved to specific classes)
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/ExtensionFactoryTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTreeNodeTest.java
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/ExtensionFactoryTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BusinessEntityImplTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyExtensionTest.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -201,31 +201,31 @@
protected void addManualExtension(WikittyClient client) {
// create extension
WikittyExtension movieExtension = ExtensionFactory.create("Movies", "1.0")
- .addField("Name", WikittyTypes.STRING)
- .addField("Author", WikittyTypes.STRING).maxOccur(Integer.MAX_VALUE)
- .addField("Category", WikittyTypes.WIKITTY)
- .addField("Year", WikittyTypes.STRING)
+ .addField("name", WikittyTypes.STRING)
+ .addField("author", WikittyTypes.STRING).maxOccur(Integer.MAX_VALUE)
+ .addField("category", WikittyTypes.WIKITTY)
+ .addField("year", WikittyTypes.STRING)
.extension();
client.storeExtension(movieExtension);
// create wikitty movies
Wikitty dieHardMovie = new WikittyImpl();
dieHardMovie.addExtension(movieExtension);
- dieHardMovie.setField("Movies", "Name", "Die hard 4");
- dieHardMovie.addToField("Movies", "Author", "Willis");
- dieHardMovie.addToField("Movies", "Year", "2009");
+ dieHardMovie.setField("Movies", "name", "Die hard 4");
+ dieHardMovie.addToField("Movies", "author", "Willis");
+ dieHardMovie.addToField("Movies", "year", "2009");
Wikitty edgarMovie = new WikittyImpl();
edgarMovie.addExtension(movieExtension);
- edgarMovie.setField("Movies", "Name", "J. Edgar");
- edgarMovie.addToField("Movies", "Author", "Eastwood");
- edgarMovie.addToField("Movies", "Year", "2011");
+ edgarMovie.setField("Movies", "name", "J. Edgar");
+ edgarMovie.addToField("Movies", "author", "Eastwood");
+ edgarMovie.addToField("Movies", "year", "2011");
Wikitty dnrMovie = new WikittyImpl();
dnrMovie.addExtension(movieExtension);
- dnrMovie.setField("Movies", "Name", "The Dark Knight Rises");
- dnrMovie.addToField("Movies", "Author", "Nolan");
- dnrMovie.addToField("Movies", "Year", "2012");
+ dnrMovie.setField("Movies", "name", "The Dark Knight Rises");
+ dnrMovie.addToField("Movies", "author", "Nolan");
+ dnrMovie.addToField("Movies", "year", "2012");
client.store(dieHardMovie, edgarMovie);
}
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-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -25,19 +25,15 @@
package org.nuiton.wikitty;
-import static org.junit.Assert.assertEquals;
-
import java.io.IOException;
import org.junit.Assert;
import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.addons.WikittyI18nImpl;
import org.nuiton.wikitty.addons.WikittyI18nTestUtil;
import org.nuiton.wikitty.addons.WikittyI18nUtil;
import org.nuiton.wikitty.addons.WikittyImportExportService;
-import org.nuiton.wikitty.addons.WikittyLabelUtil;
import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
+import org.nuiton.wikitty.addons.WikittyLabelUtil;
import org.nuiton.wikitty.entities.Element;
import org.nuiton.wikitty.entities.ExtensionFactory;
import org.nuiton.wikitty.entities.Wikitty;
@@ -52,8 +48,6 @@
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
-import org.nuiton.wikitty.search.PagedResult;
-import org.nuiton.wikitty.services.WikittyServiceInMemory;
import org.nuiton.wikitty.test.Category;
import org.nuiton.wikitty.test.Product;
@@ -311,6 +305,6 @@
wikittyClient.store(w);
WikittyLabelUtil.addLabel(wikittyClient, id, "hello");
WikittyQueryResult<Wikitty> wikitties = WikittyLabelUtil.findAllByLabel(wikittyClient, "hello", 0, 1);
- assertEquals(wikitties.get(0), w);
+ Assert.assertEquals(wikitties.get(0), w);
}
}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java 2012-01-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/CommonTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -1,454 +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.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
-import org.junit.Test;
-import org.nuiton.wikitty.entities.ExtensionFactory;
-import org.nuiton.wikitty.entities.FieldType;
-import org.nuiton.wikitty.entities.WikittyTypes;
-import org.nuiton.wikitty.entities.WikittyTreeNode;
-import org.nuiton.wikitty.entities.WikittyTreeNodeAbstract;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.WikittyException;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.entities.WikittyImpl;
-import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.conform.StorageTest;
-
-/**
- * Test Wikitty, Extensions, Field and FieldType through the Wikitty Object
- *
- * @author guillaumed
- *
- */
-public class CommonTest {
-
- private static Log log = LogFactory.getLog(CommonTest.class);
-
- private static String UNKNOWN = "unknown";
-
- @Test
- public void testWikittyId() throws Exception {
- Wikitty w = new WikittyImpl();
- // as soon as a wikitty object is created, it got an ID.
- Assert.assertNotNull("Wikitty should got an ID", w.getId() );
-
- Wikitty w2 = new WikittyImpl( w.getId() );
- // two wikitty with a similar id are equals.
- Assert.assertEquals("Wikitty with same ID must be equals", w, w2);
- }
-
- @Test
- public void testWikittyExtension() throws Exception {
-
- Wikitty wikitty = new WikittyImpl();
-
- // null extension should be ignored
- WikittyExtension ext = new WikittyExtension( "invalidExt", "1", null );
- wikitty.addExtension(ext);
- // yes we want to handle empty extension
- Assert.assertTrue( wikitty.hasExtension("invalidExt") );
-
- // empty extension should be ignored (?)
- ext = new WikittyExtension( "invalideExt2", "1", new LinkedHashMap<String, FieldType>() );
- wikitty.addExtension(ext);
- Assert.assertFalse( wikitty.hasExtension("invalidExt2") );
-
- // test requires extension
- ext = new WikittyExtension( "master", "1", null);
- wikitty.addExtension(ext);
- Assert.assertTrue( wikitty.hasExtension("master") );
-
- ext = new WikittyExtension( "slave", "1", null, "master", null);
- wikitty.addExtension(ext);
- Assert.assertTrue( wikitty.hasExtension("slave") );
-
- ext = new WikittyExtension("badslave", "1", null, "nomaster", null);
- try {
- wikitty.addExtension(ext);
- Assert.assertFalse(true);
- } catch (Exception eee) {
- // add extension that depend another not in wikitty must throw exception
- Assert.assertTrue(true);
- }
- Assert.assertFalse( wikitty.hasExtension("badslave") );
-
- // test data ...
- String testExtName = "testExt";
- ext = ExtensionFactory.create(testExtName, "1")
- .addField("fieldName0", WikittyTypes.NUMERIC)
- .addField("fieldName1", WikittyTypes.STRING)
- .addField("fieldName2", WikittyTypes.NUMERIC)
- .extension();
- Wikitty w = new WikittyImpl();
- Assert.assertFalse( w.hasExtension(testExtName) );
- w.addExtension(ext);
- Assert.assertTrue( w.hasExtension(testExtName) );
- for ( int i = 0; i < 3; i++ ) {
- String fieldName = "fieldName" + i;
- Assert.assertTrue( "Field " + fieldName + " not found"
- , w.hasField(testExtName, fieldName) );
- }
-
- // test add an other extension ...
- WikittyExtension ext2 = ExtensionFactory.create("otherExt", "1")
- .addField("fieldName0", WikittyTypes.NUMERIC)
- .addField("fieldName1", WikittyTypes.STRING)
- .addField("fieldName2", WikittyTypes.NUMERIC)
- .addField("fieldName3", WikittyTypes.NUMERIC)
- .addField("fieldName4", WikittyTypes.NUMERIC)
- .extension();
-
- w.addExtension(ext2);
- for ( int i = 0; i < 5; i++ ) {
- String fieldName = "fieldName" + i;
- if ( i < 3 ) { // fields in the first implem should be kept
- Assert.assertTrue( "Field " + fieldName + " not found"
- , w.hasField(testExtName, fieldName) );
- }
- Assert.assertTrue( "Field " + fieldName + " not found",
- w.hasField("otherExt", fieldName) );
- }
-
- }
-
- /**
- * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques.
- */
- @Test(expected=IllegalArgumentException.class)
- public void testWikittyExtensionBadName() {
- new WikittyExtension("invalid name", "1", null );
- }
-
- /**
- * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques.
- */
- @Test(expected=IllegalArgumentException.class)
- public void testWikittyExtensionBadName2() {
- WikittyExtension ext = new WikittyExtension();
- ext.setName("été");
- }
-
- /**
- * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques.
- */
- @Test(expected=IllegalArgumentException.class)
- public void testWikittyExtensionBadName3() {
- new WikittyExtension("test,test");
- }
-
- @Test
- public void testWikittyExtensionCorrectFieldName() throws Exception {
- ExtensionFactory.create("correctExtension", "1")
- .addField("correctFieldName", WikittyTypes.NUMERIC).extension();
- }
-
- // Throw IllegalArgumentException because invalid character in field name
- @Test(expected = IllegalArgumentException.class)
- public void testWikittyExtensionIncorrectFieldName() throws Exception {
- ExtensionFactory.create("incorrectExtension", "1")
- .addField("incorrectFieldName#", WikittyTypes.NUMERIC).extension();
- }
-
- @Test
- public void testFieldAssigment() throws Exception {
- Wikitty w = createBasicWikitty();
-
- // test assignment on a non-existing extension.
- try {
- w.setField(UNKNOWN, "fieldName", "fieldValue");
- Assert.fail("Should throw a runtime exception !");
- } catch (RuntimeException e) {
- // OK !
- }
-
- // test assignment on a non-existing field.
- try {
- w.setField(StorageTest.EXTNAME, "non-existing-fieldName", "fieldValue");
- Assert.fail( "Should throw a runtime exception !" );
- } catch (RuntimeException e) {
- // OK !
- }
-
- w.addExtension(StorageTest.EXT_TEST);
-
- // basic valid assignment ...
- String stringValue = "A Test Value";
- w.setField(StorageTest.EXTNAME, "fieldName0", stringValue);
- Assert.assertEquals(stringValue, w.getFieldAsString(StorageTest.EXTNAME, "fieldName0") );
-
- int intValue = 123456;
- w.setField(StorageTest.EXTNAME, "fieldName1", intValue);
- Assert.assertEquals(intValue, w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1") );
-
- Date dateValue = new Date();
- w.setField(StorageTest.EXTNAME, "fieldName2", dateValue);
- Assert.assertEquals(dateValue, w.getFieldAsDate(StorageTest.EXTNAME, "fieldName2") );
-
- // null or empty assignment ...
- for ( int i = 0; i < 3; i++ ) {
- w.setField(StorageTest.EXTNAME, "fieldName" + i, null);
- }
-
- }
-
- private Wikitty createBasicWikitty() {
- WikittyExtension ext = ExtensionFactory.create(StorageTest.EXTNAME, "1")
- .addField("name", WikittyTypes.STRING)
- .extension();
- Wikitty w = new WikittyImpl();
- w.addExtension(ext);
- w.setField(StorageTest.EXTNAME, "name", "foobar");
- return w;
- }
-
- @Test
- public void testFieldCastRules() throws Exception {
- Wikitty w = createBasicWikitty();
- w.addExtension(StorageTest.EXT_TEST);
-
- // casted assignment ...
- final String stringValue = "Hello";
- // test any object => string type (casted as its toString() value)
- w.setField(StorageTest.EXTNAME, "fieldName0", new Object() {
- public String toString() {
- return stringValue;
- }
- });
- // test java.lang.Integer => int
- w.setField(StorageTest.EXTNAME, "fieldName1", Integer.valueOf(123));
- Assert.assertEquals(123, w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1") );
- // test String => int
- w.setField(StorageTest.EXTNAME, "fieldName1", "123");
- Assert.assertEquals(123, w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1") );
- // test String => Date
- Calendar cal = Calendar.getInstance(Locale.ROOT);
- cal.set(1982, 0, 23, 0, 0, 0); cal.set( Calendar.MILLISECOND, 0 );
- w.setField( StorageTest.EXTNAME, "fieldName2", WikittyUtil.formatDate(cal.getTime()) );
- Assert.assertEquals(cal.getTime(), w.getFieldAsDate(StorageTest.EXTNAME, "fieldName2") );
- }
-
- @Test
- public void testFieldBoundsManagement() throws Exception {
- String fieldName = "fieldName0";
- WikittyExtension ext = ExtensionFactory.create(StorageTest.EXTNAME, "1")
- .addField(fieldName, WikittyTypes.NUMERIC)
- .maxOccur(FieldType.NOLIMIT)
- .extension();
- Wikitty w = new WikittyImpl();
- w.addExtension(ext);
-
-
- // test setting a (primitive) value to the field ...
- try {
- w.setField(StorageTest.EXTNAME, fieldName, 123);
- Assert.fail("setting an int to a list of int is forbidden !");
- } catch (WikittyException e) {
- // OK
- }
-
- // test adding elements to the field ...
- for ( int i = 0; i < 10; i++ ) {
- w.addToField(StorageTest.EXTNAME, fieldName, i);
- }
- int z = 0;
- for ( int value : w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class) ) {
- Assert.assertEquals( "element " + z + " failed",
- z, value );
- z++;
- }
-
- // test set a list as the field value ...
- Integer[] listInt = new Integer[] {4, 2, 8, 9, 5, -12, Integer.MIN_VALUE, Integer.MAX_VALUE };
- w.setField( StorageTest.EXTNAME, fieldName, Arrays.asList(listInt) );
- z = 0;
- for ( int value : w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class) ) {
- Assert.assertEquals( listInt[z++].intValue(), value );
- }
-
- // test remove an element ...
- w.removeFromField( StorageTest.EXTNAME, fieldName, Integer.MIN_VALUE );
- List<Integer> values = w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class);
- z = 0;
- for ( int value : w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class) ) {
- Assert.assertEquals(
- // on the last element, we expect MAX_VALUE because MIN_VALUE was deleted.
- z == values.size() - 1 ? Integer.MAX_VALUE : listInt[z++].intValue()
- , value );
- }
-
- // test clear field ...
- w.clearField(StorageTest.EXTNAME, fieldName);
- values = w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class);
- Assert.assertTrue( values.isEmpty() );
-
- }
-
- public static class PerfFieldAccesClass {
- String stringValue;
- int intValue;
- Date dateValue;
-
- public String getStringValue() {
- return stringValue;
- }
-
- public void setStringValue(String stringValue) {
- this.stringValue = stringValue;
- }
-
- public void setIntValue(int intValue) {
- this.intValue = intValue;
- }
-
- public int getIntValue() {
- return intValue;
- }
-
- public void setDateValue(Date dateValue) {
- this.dateValue = dateValue;
- }
-
- public Date getDateValue() {
- return dateValue;
- }
-
- }
-
- @Test
- public void testPerfFieldAccess() throws Exception {
- int MAX = 100000;
-
- Map<String, Object> m = new HashMap<String, Object>();
- Wikitty w = createBasicWikitty();
- w.addExtension(StorageTest.EXT_TEST);
- PerfFieldAccesClass z = new PerfFieldAccesClass();
-
- long time = System.currentTimeMillis();
- for (int i=0; i<MAX; i++) {
- // basic valid assignment ...
- String stringValue = "A Test Value";
- m.put(StorageTest.EXTNAME+".fieldName0", stringValue);
-
- int intValue = 123456;
- m.put(StorageTest.EXTNAME + ".fieldName1", intValue);
-
- Date dateValue = new Date();
- m.put(StorageTest.EXTNAME + ".fieldName2", dateValue);
- }
- long timeSetM = System.currentTimeMillis() - time;
-
- time = System.currentTimeMillis();
- String tmp = "";
- for (int i = 0; i < MAX; i++) {
- String stringValue = (String)m.get(StorageTest.EXTNAME + ".fieldName0");
-
- int intValue = (Integer) m.get(StorageTest.EXTNAME + ".fieldName1");
-
- Date dateValue = (Date)m.get(StorageTest.EXTNAME + ".fieldName2");
- tmp = stringValue + intValue + dateValue;
- }
- long timeGetM = System.currentTimeMillis() - time;
-
-
- time = System.currentTimeMillis();
- for (int i=0; i<MAX; i++) {
- // basic valid assignment ...
- String stringValue = "A Test Value";
- w.setField(StorageTest.EXTNAME, "fieldName0", stringValue);
-
- int intValue = 123456;
- w.setField(StorageTest.EXTNAME, "fieldName1", intValue);
-
- w.setField(StorageTest.EXTNAME, "fieldName2", new Date());
- }
- long timeSetW = System.currentTimeMillis() - time;
-
- time = System.currentTimeMillis();
- for (int i=0; i<MAX; i++) {
- // basic valid assignment ...
- String stringValue = w.getFieldAsString(StorageTest.EXTNAME, "fieldName0");
-
- int intValue = w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1");
-
- Date dateValue = w.getFieldAsDate(StorageTest.EXTNAME, "fieldName2");
- tmp = stringValue + intValue + dateValue;
- }
- long timeGetW = System.currentTimeMillis() - time;
-
- time = System.currentTimeMillis();
- for (int i = 0; i < MAX; i++) {
- String stringValue = "A Test Value";
- z.setStringValue(stringValue);
-
- int intValue = 123456;
- z.setIntValue(intValue);
-
- Date dateValue = new Date();
- z.setDateValue(dateValue);
- }
- long timeSetZ = System.currentTimeMillis() - time;
-
- time = System.currentTimeMillis();
- for (int i = 0; i < MAX; i++) {
- // basic valid assignment ...
- String stringValue = z.getStringValue();
-
- int intValue = z.getIntValue();
-
- Date dateValue = z.getDateValue();
- tmp = stringValue + intValue + dateValue;
- }
- long timeGetZ = System.currentTimeMillis() - time;
-
- log.info("Time m set: " + timeSetM + " Time m get: " + timeGetM);
- log.info("Time w set: " + timeSetW + " Time w get: " + timeGetW);
- log.info("Time z set: " + timeSetZ + " Time z get: " + timeGetZ);
- }
-
- /**
- * Test que les entités générées sont dans les types attendus.
- */
- @Test
- public void testGeneratedExtensionType() {
-
- WikittyExtension wikittyExtension = WikittyTreeNodeAbstract.extensionWikittyTreeNode;
- Assert.assertEquals(WikittyTypes.WIKITTY, wikittyExtension.getFieldType(WikittyTreeNode.FIELD_WIKITTYTREENODE_PARENT).getType());
- Assert.assertEquals(WikittyTypes.STRING, wikittyExtension.getFieldType(WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME).getType());
- Assert.assertEquals(WikittyTypes.WIKITTY, wikittyExtension.getFieldType(WikittyTreeNode.FIELD_WIKITTYTREENODE_ATTACHMENT).getType());
- }
-}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/ExtensionFactoryTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/ExtensionFactoryTest.java 2012-01-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/ExtensionFactoryTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -1,71 +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 org.junit.Assert;
-import org.junit.Test;
-import org.nuiton.wikitty.entities.ExtensionFactory;
-import org.nuiton.wikitty.entities.FieldType;
-import org.nuiton.wikitty.entities.WikittyTypes;
-import org.nuiton.wikitty.entities.WikittyExtension;
-
-public class ExtensionFactoryTest {
-
- @Test
- public void testExtensionFactory() throws Exception {
- WikittyExtension ext = ExtensionFactory.create("testExtension", "1.0")
- .addField("name", WikittyTypes.STRING)
- .notNull()
- .addField("phoneNumbers", WikittyTypes.STRING)
- .minOccur(2)
- .maxOccur(10)
- .addField("matricule", WikittyTypes.NUMERIC)
- .unique()
- .addField("fired", WikittyTypes.BOOLEAN)
- .extension();
-
- Assert.assertEquals("testExtension", ext.getName());
- Assert.assertEquals("1.0", ext.getVersion());
- checkField( ext, "name", WikittyTypes.STRING, 0, 1, false, true);
- checkField( ext, "phoneNumbers", WikittyTypes.STRING, 2, 10, false, false);
- checkField( ext, "matricule", WikittyTypes.NUMERIC, 0, 1, true, false);
- checkField( ext, "fired", WikittyTypes.BOOLEAN, 0, 1, false, false);
-
- }
-
- private void checkField( WikittyExtension ext, String fieldName, WikittyTypes type,
- int min, int max, boolean unique, boolean notNull) {
- FieldType fieldType = ext.getFieldType(fieldName);
- String str = "Checking " + ext.getName() + "." + fieldName + " field...";
- Assert.assertNotNull(str, fieldType );
- Assert.assertEquals(str, type, fieldType.getType());
- Assert.assertEquals(str, min, fieldType.getLowerBound());
- Assert.assertEquals(str, max, fieldType.getUpperBound());
- Assert.assertEquals(str, unique, fieldType.isUnique());
- Assert.assertEquals(str, notNull, fieldType.isNotNull());
- }
-
-
-}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BusinessEntityImplTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BusinessEntityImplTest.java 2012-01-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/BusinessEntityImplTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -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
Copied: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/ExtensionFactoryTest.java (from rev 1328, trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/ExtensionFactoryTest.java)
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/ExtensionFactoryTest.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/ExtensionFactoryTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -0,0 +1,68 @@
+/*
+ * #%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.entities;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.wikitty.entities.ExtensionFactory;
+import org.nuiton.wikitty.entities.FieldType;
+import org.nuiton.wikitty.entities.WikittyTypes;
+import org.nuiton.wikitty.entities.WikittyExtension;
+
+public class ExtensionFactoryTest {
+
+ @Test
+ public void testExtensionFactory() throws Exception {
+ WikittyExtension ext = ExtensionFactory.create("testExtension", "1.0")
+ .addField("name", WikittyTypes.STRING)
+ .notNull()
+ .addField("phoneNumbers", WikittyTypes.STRING)
+ .minOccur(2)
+ .maxOccur(10)
+ .addField("matricule", WikittyTypes.NUMERIC)
+ .unique()
+ .addField("fired", WikittyTypes.BOOLEAN)
+ .extension();
+
+ Assert.assertEquals("testExtension", ext.getName());
+ Assert.assertEquals("1.0", ext.getVersion());
+ checkField( ext, "name", WikittyTypes.STRING, 0, 1, false, true);
+ checkField( ext, "phoneNumbers", WikittyTypes.STRING, 2, 10, false, false);
+ checkField( ext, "matricule", WikittyTypes.NUMERIC, 0, 1, true, false);
+ checkField( ext, "fired", WikittyTypes.BOOLEAN, 0, 1, false, false);
+ }
+
+ protected void checkField( WikittyExtension ext, String fieldName, WikittyTypes type,
+ int min, int max, boolean unique, boolean notNull) {
+ FieldType fieldType = ext.getFieldType(fieldName);
+ String str = "Checking " + ext.getName() + "." + fieldName + " field...";
+ Assert.assertNotNull(str, fieldType );
+ Assert.assertEquals(str, type, fieldType.getType());
+ Assert.assertEquals(str, min, fieldType.getLowerBound());
+ Assert.assertEquals(str, max, fieldType.getUpperBound());
+ Assert.assertEquals(str, unique, fieldType.isUnique());
+ Assert.assertEquals(str, notNull, fieldType.isNotNull());
+ }
+}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyExtensionTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyExtensionTest.java 2012-01-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyExtensionTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -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
@@ -25,13 +25,12 @@
package org.nuiton.wikitty.entities;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Test;
/**
- *
+ * Test sur les wikitty extensions.
+ *
* @author poussin
* @version $Revision$
*
@@ -40,9 +39,6 @@
*/
public class WikittyExtensionTest {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(WikittyExtensionTest.class);
-
@Test
public void extractExtensionName() throws Exception {
String extName = "MonExtension";
@@ -52,7 +48,7 @@
String extNameToTest = WikittyExtension.extractExtensionName(fq);
Assert.assertEquals(extName, extNameToTest);
}
-
+
@Test
public void extractFieldName() throws Exception {
String extName = "MonExtension";
@@ -62,4 +58,29 @@
String fieldNameToTest = WikittyExtension.extractFieldName(fq);
Assert.assertEquals(fieldName, fieldNameToTest);
}
+
+ /**
+ * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques.
+ */
+ @Test(expected=IllegalArgumentException.class)
+ public void testWikittyExtensionBadName() {
+ new WikittyExtension("invalid name", "1", null );
+ }
+
+ /**
+ * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques.
+ */
+ @Test(expected=IllegalArgumentException.class)
+ public void testWikittyExtensionBadName2() {
+ WikittyExtension ext = new WikittyExtension();
+ ext.setName("été");
+ }
+
+ /**
+ * Test qu'une extension ne peut pas avoir de caracteres non alphanumeriques.
+ */
+ @Test(expected=IllegalArgumentException.class)
+ public void testWikittyExtensionBadName3() {
+ new WikittyExtension("test,test");
+ }
}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2012-01-20 11:13:40 UTC (rev 1347)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyGenerationTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -1,54 +0,0 @@
-/*
- * #%L
- *
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 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.entities;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-/**
- * Test que la generation est celle attendues.
- *
- * Principalement provenant du modèle de test (src/test/xmi).
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-@Ignore
-public class WikittyGenerationTest {
-
- /**
- * Utilise seulement des entities pour voir si certains attributs ou
- * methodes particulières sont bien présentes.
- */
- @Test
- public void testModelEntitiesCompilation() {
- //Pegasus pegasus = new PegasusImpl();
- //String pegasusRace = pegasus.getRaceFromPegasus();
- }
-}
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTest.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -0,0 +1,432 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 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.entities;
+
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.wikitty.WikittyException;
+import org.nuiton.wikitty.WikittyUtil;
+import org.nuiton.wikitty.conform.StorageTest;
+
+/**
+ * Tests on wikitty object only.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class WikittyTest {
+
+ private final static Log log = LogFactory.getLog(WikittyTest.class);
+
+ protected static final String EXTNAME = "wikittyExt";
+ protected static final String EXTREQUIRED = "wikittyRequired";
+ protected static final String EXTREQUIRES = "wikittyRequires";
+
+ //protected static final WikittyExtension EXT_REQUIRED =
+ // createExtension(EXTREQUIRED, null);
+
+ //protected static final WikittyExtension EXT_REQUIRES =
+ // createExtension(EXTREQUIRES, EXTREQUIRED);
+
+ protected static final WikittyExtension EXT_TEST =
+ createExtension(EXTNAME, null,
+ new FieldType(WikittyTypes.STRING, 0, 1),
+ new FieldType(WikittyTypes.NUMERIC, 1, 1),
+ new FieldType(WikittyTypes.DATE, 1, 1)
+ );
+
+ protected static WikittyExtension createExtension(String extName, String requires,
+ FieldType... types) {
+ LinkedHashMap<String, FieldType> fieldsMap = new LinkedHashMap<String, FieldType>();
+ for ( int i = 0; i < types.length; i++ ) {
+ fieldsMap.put( "fieldName" + i, types[i] );
+ }
+ return new WikittyExtension(extName, "1", null, requires, fieldsMap);
+ }
+
+ /**
+ * Create a wikitty instance used in current test.
+ *
+ * @return valid wikitty
+ */
+ protected Wikitty createBasicWikitty() {
+ WikittyExtension ext = ExtensionFactory.create(EXTNAME, "1")
+ .addField("name", WikittyTypes.STRING)
+ .extension();
+ Wikitty w = new WikittyImpl();
+ w.addExtension(ext);
+ w.setField(EXTNAME, "name", "foobar");
+ return w;
+ }
+
+ /**
+ * Wikitty id must never be null.
+ */
+ @Test
+ public void testWikittyId() {
+ Wikitty w = new WikittyImpl();
+ // as soon as a wikitty object is created, it got an ID.
+ Assert.assertNotNull("Wikitty should got an ID", w.getId() );
+
+ Wikitty w2 = new WikittyImpl( w.getId() );
+ // two wikitty with a similar id are equals.
+ Assert.assertEquals("Wikitty with same ID must be equals", w, w2);
+ }
+
+ /**
+ * Test sur les extensions d'un wikitty.
+ */
+ @Test
+ public void testWikittyExtension() {
+
+ Wikitty wikitty = new WikittyImpl();
+
+ // null extension should be ignored
+ WikittyExtension ext = new WikittyExtension( "invalidExt", "1", null );
+ wikitty.addExtension(ext);
+ // yes we want to handle empty extension
+ Assert.assertTrue( wikitty.hasExtension("invalidExt") );
+
+ // empty extension should be ignored (?)
+ ext = new WikittyExtension( "invalideExt2", "1", new LinkedHashMap<String, FieldType>() );
+ wikitty.addExtension(ext);
+ Assert.assertFalse( wikitty.hasExtension("invalidExt2") );
+
+ // test requires extension
+ ext = new WikittyExtension( "master", "1", null);
+ wikitty.addExtension(ext);
+ Assert.assertTrue( wikitty.hasExtension("master") );
+
+ ext = new WikittyExtension( "slave", "1", null, "master", null);
+ wikitty.addExtension(ext);
+ Assert.assertTrue( wikitty.hasExtension("slave") );
+
+ ext = new WikittyExtension("badslave", "1", null, "nomaster", null);
+ try {
+ wikitty.addExtension(ext);
+ Assert.assertFalse(true);
+ } catch (Exception eee) {
+ // add extension that depend another not in wikitty must throw exception
+ Assert.assertTrue(true);
+ }
+ Assert.assertFalse( wikitty.hasExtension("badslave") );
+
+ // test data ...
+ String testExtName = "testExt";
+ ext = ExtensionFactory.create(testExtName, "1")
+ .addField("fieldName0", WikittyTypes.NUMERIC)
+ .addField("fieldName1", WikittyTypes.STRING)
+ .addField("fieldName2", WikittyTypes.NUMERIC)
+ .extension();
+ Wikitty w = new WikittyImpl();
+ Assert.assertFalse( w.hasExtension(testExtName) );
+ w.addExtension(ext);
+ Assert.assertTrue( w.hasExtension(testExtName) );
+ for ( int i = 0; i < 3; i++ ) {
+ String fieldName = "fieldName" + i;
+ Assert.assertTrue( "Field " + fieldName + " not found"
+ , w.hasField(testExtName, fieldName) );
+ }
+
+ // test add an other extension ...
+ WikittyExtension ext2 = ExtensionFactory.create("otherExt", "1")
+ .addField("fieldName0", WikittyTypes.NUMERIC)
+ .addField("fieldName1", WikittyTypes.STRING)
+ .addField("fieldName2", WikittyTypes.NUMERIC)
+ .addField("fieldName3", WikittyTypes.NUMERIC)
+ .addField("fieldName4", WikittyTypes.NUMERIC)
+ .extension();
+
+ w.addExtension(ext2);
+ for ( int i = 0; i < 5; i++ ) {
+ String fieldName = "fieldName" + i;
+ if ( i < 3 ) { // fields in the first implem should be kept
+ Assert.assertTrue( "Field " + fieldName + " not found"
+ , w.hasField(testExtName, fieldName) );
+ }
+ Assert.assertTrue( "Field " + fieldName + " not found",
+ w.hasField("otherExt", fieldName) );
+ }
+ }
+
+ @Test
+ public void testFieldAssigment() throws Exception {
+ Wikitty w = createBasicWikitty();
+
+ // test assignment on a non-existing extension.
+ try {
+ w.setField("UNKNOWN", "fieldName", "fieldValue");
+ Assert.fail("Should throw a runtime exception !");
+ } catch (RuntimeException e) {
+ // OK !
+ }
+
+ // test assignment on a non-existing field.
+ try {
+ w.setField(EXTNAME, "non-existing-fieldName", "fieldValue");
+ Assert.fail( "Should throw a runtime exception !" );
+ } catch (RuntimeException e) {
+ // OK !
+ }
+
+ w.addExtension(EXT_TEST);
+
+ // basic valid assignment ...
+ String stringValue = "A Test Value";
+ w.setField(EXTNAME, "fieldName0", stringValue);
+ Assert.assertEquals(stringValue, w.getFieldAsString(EXTNAME, "fieldName0") );
+
+ int intValue = 123456;
+ w.setField(EXTNAME, "fieldName1", intValue);
+ Assert.assertEquals(intValue, w.getFieldAsInt(EXTNAME, "fieldName1") );
+
+ Date dateValue = new Date();
+ w.setField(EXTNAME, "fieldName2", dateValue);
+ Assert.assertEquals(dateValue, w.getFieldAsDate(EXTNAME, "fieldName2") );
+
+ // null or empty assignment ...
+ for ( int i = 0; i < 3; i++ ) {
+ w.setField(EXTNAME, "fieldName" + i, null);
+ }
+ }
+
+ @Test
+ public void testFieldCastRules() throws Exception {
+ Wikitty w = createBasicWikitty();
+ w.addExtension(StorageTest.EXT_TEST);
+
+ // casted assignment ...
+ final String stringValue = "Hello";
+ // test any object => string type (casted as its toString() value)
+ w.setField(StorageTest.EXTNAME, "fieldName0", new Object() {
+ public String toString() {
+ return stringValue;
+ }
+ });
+ // test java.lang.Integer => int
+ w.setField(StorageTest.EXTNAME, "fieldName1", Integer.valueOf(123));
+ Assert.assertEquals(123, w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1") );
+ // test String => int
+ w.setField(StorageTest.EXTNAME, "fieldName1", "123");
+ Assert.assertEquals(123, w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1") );
+ // test String => Date
+ Calendar cal = Calendar.getInstance(Locale.ROOT);
+ cal.set(1982, 0, 23, 0, 0, 0); cal.set( Calendar.MILLISECOND, 0 );
+ w.setField( StorageTest.EXTNAME, "fieldName2", WikittyUtil.formatDate(cal.getTime()) );
+ Assert.assertEquals(cal.getTime(), w.getFieldAsDate(StorageTest.EXTNAME, "fieldName2") );
+ }
+
+ @Test
+ public void testFieldBoundsManagement() throws Exception {
+ String fieldName = "fieldName0";
+ WikittyExtension ext = ExtensionFactory.create(StorageTest.EXTNAME, "1")
+ .addField(fieldName, WikittyTypes.NUMERIC)
+ .maxOccur(FieldType.NOLIMIT)
+ .extension();
+ Wikitty w = new WikittyImpl();
+ w.addExtension(ext);
+
+
+ // test setting a (primitive) value to the field ...
+ try {
+ w.setField(StorageTest.EXTNAME, fieldName, 123);
+ Assert.fail("setting an int to a list of int is forbidden !");
+ } catch (WikittyException e) {
+ // OK
+ }
+
+ // test adding elements to the field ...
+ for ( int i = 0; i < 10; i++ ) {
+ w.addToField(StorageTest.EXTNAME, fieldName, i);
+ }
+ int z = 0;
+ for ( int value : w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class) ) {
+ Assert.assertEquals( "element " + z + " failed",
+ z, value );
+ z++;
+ }
+
+ // test set a list as the field value ...
+ Integer[] listInt = new Integer[] {4, 2, 8, 9, 5, -12, Integer.MIN_VALUE, Integer.MAX_VALUE };
+ w.setField( StorageTest.EXTNAME, fieldName, Arrays.asList(listInt) );
+ z = 0;
+ for ( int value : w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class) ) {
+ Assert.assertEquals( listInt[z++].intValue(), value );
+ }
+
+ // test remove an element ...
+ w.removeFromField( StorageTest.EXTNAME, fieldName, Integer.MIN_VALUE );
+ List<Integer> values = w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class);
+ z = 0;
+ for ( int value : w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class) ) {
+ Assert.assertEquals(
+ // on the last element, we expect MAX_VALUE because MIN_VALUE was deleted.
+ z == values.size() - 1 ? Integer.MAX_VALUE : listInt[z++].intValue()
+ , value );
+ }
+
+ // test clear field ...
+ w.clearField(StorageTest.EXTNAME, fieldName);
+ values = w.getFieldAsList(StorageTest.EXTNAME, fieldName, Integer.class);
+ Assert.assertTrue( values.isEmpty() );
+ }
+
+ public static class PerfFieldAccesClass {
+ String stringValue;
+ int intValue;
+ Date dateValue;
+
+ public String getStringValue() {
+ return stringValue;
+ }
+
+ public void setStringValue(String stringValue) {
+ this.stringValue = stringValue;
+ }
+
+ public void setIntValue(int intValue) {
+ this.intValue = intValue;
+ }
+
+ public int getIntValue() {
+ return intValue;
+ }
+
+ public void setDateValue(Date dateValue) {
+ this.dateValue = dateValue;
+ }
+
+ public Date getDateValue() {
+ return dateValue;
+ }
+
+ }
+
+ @Test
+ public void testPerfFieldAccess() throws Exception {
+ int MAX = 100000;
+
+ Map<String, Object> m = new HashMap<String, Object>();
+ Wikitty w = createBasicWikitty();
+ w.addExtension(StorageTest.EXT_TEST);
+ PerfFieldAccesClass z = new PerfFieldAccesClass();
+
+ long time = System.currentTimeMillis();
+ for (int i=0; i<MAX; i++) {
+ // basic valid assignment ...
+ String stringValue = "A Test Value";
+ m.put(StorageTest.EXTNAME+".fieldName0", stringValue);
+
+ int intValue = 123456;
+ m.put(StorageTest.EXTNAME + ".fieldName1", intValue);
+
+ Date dateValue = new Date();
+ m.put(StorageTest.EXTNAME + ".fieldName2", dateValue);
+ }
+ long timeSetM = System.currentTimeMillis() - time;
+
+ time = System.currentTimeMillis();
+ String tmp = "";
+ for (int i = 0; i < MAX; i++) {
+ String stringValue = (String)m.get(StorageTest.EXTNAME + ".fieldName0");
+
+ int intValue = (Integer) m.get(StorageTest.EXTNAME + ".fieldName1");
+
+ Date dateValue = (Date)m.get(StorageTest.EXTNAME + ".fieldName2");
+ tmp = stringValue + intValue + dateValue;
+ }
+ long timeGetM = System.currentTimeMillis() - time;
+
+
+ time = System.currentTimeMillis();
+ for (int i=0; i<MAX; i++) {
+ // basic valid assignment ...
+ String stringValue = "A Test Value";
+ w.setField(StorageTest.EXTNAME, "fieldName0", stringValue);
+
+ int intValue = 123456;
+ w.setField(StorageTest.EXTNAME, "fieldName1", intValue);
+
+ w.setField(StorageTest.EXTNAME, "fieldName2", new Date());
+ }
+ long timeSetW = System.currentTimeMillis() - time;
+
+ time = System.currentTimeMillis();
+ for (int i=0; i<MAX; i++) {
+ // basic valid assignment ...
+ String stringValue = w.getFieldAsString(StorageTest.EXTNAME, "fieldName0");
+
+ int intValue = w.getFieldAsInt(StorageTest.EXTNAME, "fieldName1");
+
+ Date dateValue = w.getFieldAsDate(StorageTest.EXTNAME, "fieldName2");
+ tmp = stringValue + intValue + dateValue;
+ }
+ long timeGetW = System.currentTimeMillis() - time;
+
+ time = System.currentTimeMillis();
+ for (int i = 0; i < MAX; i++) {
+ String stringValue = "A Test Value";
+ z.setStringValue(stringValue);
+
+ int intValue = 123456;
+ z.setIntValue(intValue);
+
+ Date dateValue = new Date();
+ z.setDateValue(dateValue);
+ }
+ long timeSetZ = System.currentTimeMillis() - time;
+
+ time = System.currentTimeMillis();
+ for (int i = 0; i < MAX; i++) {
+ // basic valid assignment ...
+ String stringValue = z.getStringValue();
+
+ int intValue = z.getIntValue();
+
+ Date dateValue = z.getDateValue();
+ tmp = stringValue + intValue + dateValue;
+ }
+ long timeGetZ = System.currentTimeMillis() - time;
+
+ log.info("Time m set: " + timeSetM + " Time m get: " + timeGetM);
+ log.info("Time w set: " + timeSetW + " Time w get: " + timeGetW);
+ log.info("Time z set: " + timeSetZ + " Time z get: " + timeGetZ);
+ }
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTreeNodeTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTreeNodeTest.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTreeNodeTest.java 2012-01-20 14:08:37 UTC (rev 1348)
@@ -0,0 +1,52 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 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.entities;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Test on generated {@link WikittyTreeNode} class.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class WikittyTreeNodeTest {
+
+ /**
+ * Test que les entités générées sont dans les types attendus.
+ */
+ @Test
+ public void testGeneratedExtensionType() {
+ WikittyExtension wikittyExtension = WikittyTreeNodeAbstract.extensionWikittyTreeNode;
+ Assert.assertEquals(WikittyTypes.WIKITTY, wikittyExtension.getFieldType(WikittyTreeNode.FIELD_WIKITTYTREENODE_PARENT).getType());
+ Assert.assertEquals(WikittyTypes.STRING, wikittyExtension.getFieldType(WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME).getType());
+ Assert.assertEquals(WikittyTypes.WIKITTY, wikittyExtension.getFieldType(WikittyTreeNode.FIELD_WIKITTYTREENODE_ATTACHMENT).getType());
+ }
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/entities/WikittyTreeNodeTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
r1347 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services
by bpoussin@users.nuiton.org 20 Jan '12
by bpoussin@users.nuiton.org 20 Jan '12
20 Jan '12
Author: bpoussin
Date: 2012-01-20 12:13:40 +0100 (Fri, 20 Jan 2012)
New Revision: 1347
Url: http://nuiton.org/repositories/revision/wikitty/1347
Log:
remove unused import
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCached.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoClient.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoServer.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCached.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCached.java 2012-01-20 10:36:08 UTC (rev 1346)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCached.java 2012-01-20 11:13:40 UTC (rev 1347)
@@ -35,7 +35,6 @@
import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.WikittyConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.entities.WikittyCopyOnWrite;
import org.nuiton.wikitty.entities.WikittyExtension;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoClient.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoClient.java 2012-01-20 10:36:08 UTC (rev 1346)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoClient.java 2012-01-20 11:13:40 UTC (rev 1347)
@@ -29,7 +29,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.WikittyConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyService;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoServer.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoServer.java 2012-01-20 10:36:08 UTC (rev 1346)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceCajoServer.java 2012-01-20 11:13:40 UTC (rev 1347)
@@ -31,7 +31,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.WikittyConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyService;
1
0
r1346 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . addons
by echatellier@users.nuiton.org 20 Jan '12
by echatellier@users.nuiton.org 20 Jan '12
20 Jan '12
Author: echatellier
Date: 2012-01-20 11:36:08 +0100 (Fri, 20 Jan 2012)
New Revision: 1346
Url: http://nuiton.org/repositories/revision/wikitty/1346
Log:
Move label test to wikitty client test.
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyLabelUtilTest.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-20 10:25:17 UTC (rev 1345)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 10:36:08 UTC (rev 1346)
@@ -25,6 +25,8 @@
package org.nuiton.wikitty;
+import static org.junit.Assert.assertEquals;
+
import java.io.IOException;
import org.junit.Assert;
@@ -34,18 +36,23 @@
import org.nuiton.wikitty.addons.WikittyI18nTestUtil;
import org.nuiton.wikitty.addons.WikittyI18nUtil;
import org.nuiton.wikitty.addons.WikittyImportExportService;
+import org.nuiton.wikitty.addons.WikittyLabelUtil;
import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
import org.nuiton.wikitty.entities.Element;
+import org.nuiton.wikitty.entities.ExtensionFactory;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyI18n;
+import org.nuiton.wikitty.entities.WikittyImpl;
import org.nuiton.wikitty.entities.WikittyLabel;
import org.nuiton.wikitty.entities.WikittyLabelImpl;
import org.nuiton.wikitty.entities.WikittyTreeNode;
+import org.nuiton.wikitty.entities.WikittyTypes;
import org.nuiton.wikitty.query.WikittyQuery;
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
+import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.services.WikittyServiceInMemory;
import org.nuiton.wikitty.test.Category;
import org.nuiton.wikitty.test.Product;
@@ -289,4 +296,21 @@
trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS);
Assert.assertEquals("étiquette", trad);
}
+
+ /**
+ * Test d'ajout de labels sur un wikitty et de recherche par label.
+ */
+ @Test
+ public void testFindAllByLabel() {
+ WikittyExtension ext = ExtensionFactory.create("test", "1")
+ .addField("toto", WikittyTypes.NUMERIC).extension();
+ Wikitty w = new WikittyImpl();
+ String id = w.getId();
+ w.addExtension(ext);
+ w.setField(ext.getName(), "toto", 42);
+ wikittyClient.store(w);
+ WikittyLabelUtil.addLabel(wikittyClient, id, "hello");
+ WikittyQueryResult<Wikitty> wikitties = WikittyLabelUtil.findAllByLabel(wikittyClient, "hello", 0, 1);
+ assertEquals(wikitties.get(0), w);
+ }
}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyLabelUtilTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyLabelUtilTest.java 2012-01-20 10:25:17 UTC (rev 1345)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyLabelUtilTest.java 2012-01-20 10:36:08 UTC (rev 1346)
@@ -1,60 +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.addons;
-
-import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
-import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.WikittyServiceFactory;
-import org.nuiton.wikitty.entities.ExtensionFactory;
-import org.nuiton.wikitty.entities.WikittyTypes;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.entities.WikittyImpl;
-import org.nuiton.wikitty.search.PagedResult;
-
-import static org.junit.Assert.assertEquals;
-
-public class WikittyLabelUtilTest {
-
- @Test
- public void testFindAllByLabel() {
- ApplicationConfig config = WikittyConfig.getConfig();
- WikittyService ws = WikittyServiceFactory.buildWikittyService(
- config);
- WikittyProxy proxy = new WikittyProxy(ws);
- WikittyExtension ext = ExtensionFactory.create("test", "1").addField("toto", WikittyTypes.NUMERIC).extension();
- Wikitty w = new WikittyImpl();
- String id = w.getId();
- w.addExtension(ext);
- w.setField(ext.getName(), "toto", 42);
- proxy.store(w);
- WikittyLabelUtil.addLabel(proxy, id, "hello");
- PagedResult<Wikitty> wikitties = WikittyLabelUtil.findAllByLabel(proxy, "hello", 0, 1);
- assertEquals(wikitties.get(0), w);
- }
-}
1
0
r1345 - in trunk/wikitty-api/src: main/java/org/nuiton/wikitty/addons test/java/org/nuiton/wikitty test/java/org/nuiton/wikitty/addons
by echatellier@users.nuiton.org 20 Jan '12
by echatellier@users.nuiton.org 20 Jan '12
20 Jan '12
Author: echatellier
Date: 2012-01-20 11:25:17 +0100 (Fri, 20 Jan 2012)
New Revision: 1345
Url: http://nuiton.org/repositories/revision/wikitty/1345
Log:
Move wikitty i18n test on wikitty client test.
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java 2012-01-20 09:58:24 UTC (rev 1344)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nImpl.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -45,7 +45,7 @@
* Last update: $Date$
* by : $Author$
*/
-public class WikittyI18nImpl extends WikittyI18nAbstract
+public class WikittyI18nImpl extends WikittyI18nAbstract
implements PropertyChangeListener {
private static final long serialVersionUID = 3824481585361443459L;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java 2012-01-20 09:58:24 UTC (rev 1344)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyI18nUtil.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -24,7 +24,6 @@
*/
package org.nuiton.wikitty.addons;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.WikittyClient;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java 2012-01-20 09:58:24 UTC (rev 1344)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -43,7 +43,6 @@
import org.nuiton.wikitty.WikittyClient;
import org.nuiton.wikitty.entities.BusinessEntityImpl;
import org.nuiton.wikitty.search.Criteria;
-import org.nuiton.wikitty.WikittyConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyService;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java 2012-01-20 09:58:24 UTC (rev 1344)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyLabelUtil.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -24,7 +24,6 @@
*/
package org.nuiton.wikitty.addons;
-
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -38,7 +37,6 @@
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.BusinessEntityImpl;
import org.nuiton.wikitty.entities.WikittyLabel;
-import org.nuiton.wikitty.entities.Element;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.search.Search;
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-20 09:58:24 UTC (rev 1344)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -29,14 +29,24 @@
import org.junit.Assert;
import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.wikitty.addons.WikittyI18nImpl;
+import org.nuiton.wikitty.addons.WikittyI18nTestUtil;
+import org.nuiton.wikitty.addons.WikittyI18nUtil;
import org.nuiton.wikitty.addons.WikittyImportExportService;
import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
import org.nuiton.wikitty.entities.Element;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.entities.WikittyI18n;
+import org.nuiton.wikitty.entities.WikittyLabel;
+import org.nuiton.wikitty.entities.WikittyLabelImpl;
import org.nuiton.wikitty.entities.WikittyTreeNode;
import org.nuiton.wikitty.query.WikittyQuery;
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
+import org.nuiton.wikitty.services.WikittyServiceInMemory;
import org.nuiton.wikitty.test.Category;
import org.nuiton.wikitty.test.Product;
@@ -234,7 +244,7 @@
Assert.assertEquals("MySubNode", mySubNode.getName());
System.out.println(mySubNode.getName());
}
-
+
/**
* Test que faire l'import 2 fois de suite cause une wikitty obselete
* exception.
@@ -245,4 +255,38 @@
importClients();
importClients();
}
+
+ /**
+ * Test i18n in wikitty.
+ */
+ @Test
+ public void testI18n() {
+ // creation d'un label pour l'utiliser pour l'i18n
+ WikittyLabel label = new WikittyLabelImpl();
+ Wikitty labelWikitty = wikittyClient.castTo(Wikitty.class, label);
+ WikittyExtension ext = labelWikitty.getExtension(WikittyLabel.EXT_WIKITTYLABEL);
+
+ // recuperation de support i18n pour l'extension WikittyLabel
+ WikittyI18n i18n = WikittyI18nUtil.getI18n(wikittyClient, ext);
+
+ // ajout d'une traduction pour le francais
+ i18n.setTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "étiquette");
+ wikittyClient.store(i18n);
+
+ String trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS);
+ Assert.assertEquals("étiquette", trad);
+ Assert.assertEquals(1, i18n.getLang().size());
+ Assert.assertEquals("fr", i18n.getLang().iterator().next());
+ Assert.assertEquals("[fr:\"labels\"=\"étiquette\"]", i18n.getTranslations());
+
+ // ajout d'une traduction pour l'espagnole
+ i18n.setTranslation("es", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "etiqueta");
+
+ Assert.assertEquals(2, i18n.getLang().size());
+
+ // on force le vidage du cache pour voir si le parsing se passe bien
+ WikittyI18nTestUtil.cleanCache(i18n);
+ trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS);
+ Assert.assertEquals("étiquette", trad);
+ }
}
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java 2012-01-20 09:58:24 UTC (rev 1344)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -1,98 +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.addons;
-
-
-import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.addons.WikittyI18nUtil;
-import org.nuiton.wikitty.addons.WikittyI18nImpl;
-import org.nuiton.wikitty.services.WikittyServiceInMemory;
-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.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.entities.WikittyI18n;
-import org.nuiton.wikitty.entities.WikittyLabel;
-import org.nuiton.wikitty.entities.WikittyLabelImpl;
-
-/**
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-public class WikittyI18nTest {
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(WikittyI18nTest.class);
-
- @Test
- public void testI18n() throws Exception {
- // creation d'un proxy sur un ws in memory
- ApplicationConfig config = WikittyConfig.getConfig();
- WikittyService ws = new WikittyServiceInMemory(config);
- WikittyProxy proxy = new WikittyProxy(ws);
-
- // creation d'un label pour l'utiliser pour l'i18n
- WikittyLabel label = new WikittyLabelImpl();
- Wikitty labelWikitty = WikittyUtil.getWikitty(ws,null,label);
- WikittyExtension ext =
- labelWikitty.getExtension(WikittyLabel.EXT_WIKITTYLABEL);
-
- // recuperation de support i18n pour l'extension WikittyLabel
- WikittyI18n i18n = WikittyI18nUtil.getI18n(proxy, ext);
-
- // ajout d'une traduction pour le francais
- i18n.setTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "étiquette");
- proxy.store(i18n);
-
- String trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS);
- Assert.assertEquals("étiquette", trad);
- Assert.assertEquals(1, i18n.getLang().size());
- Assert.assertEquals("fr", i18n.getLang().iterator().next());
- Assert.assertEquals("[fr:\"labels\"=\"étiquette\"]", i18n.getTranslations());
-
- // ajout d'une traduction pour l'espagnole
- i18n.setTranslation("es", WikittyLabel.FIELD_WIKITTYLABEL_LABELS, "etiqueta");
-
- Assert.assertEquals(2, i18n.getLang().size());
-
- // on force le vidage du cache pour voir si le parsing se passe bien
- ((WikittyI18nImpl)i18n).translationsCache = null;
- trad = i18n.getTranslation("fr", WikittyLabel.FIELD_WIKITTYLABEL_LABELS);
- Assert.assertEquals("étiquette", trad);
-
-// System.out.println(i18n.getTranslations());
- }
-
-}
Copied: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java (from rev 1328, trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTest.java)
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/WikittyI18nTestUtil.java 2012-01-20 10:25:17 UTC (rev 1345)
@@ -0,0 +1,48 @@
+/*
+ * #%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.addons;
+
+import org.nuiton.wikitty.entities.WikittyI18n;
+
+/**
+ * New implementation just for cache cleaning.
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class WikittyI18nTestUtil {
+
+ /**
+ * Just a test method to clean cache.
+ *
+ * @param wikitty wikitty instance to get cache reference (protected)
+ */
+ public static void cleanCache(WikittyI18n wikitty) {
+ ((WikittyI18nImpl)wikitty).translationsCache = null;
+ }
+}
1
0
r1344 - in trunk/wikitty-api/src/test/java/org/nuiton/wikitty: . addons/importexport
by echatellier@users.nuiton.org 20 Jan '12
by echatellier@users.nuiton.org 20 Jan '12
20 Jan '12
Author: echatellier
Date: 2012-01-20 10:58:24 +0100 (Fri, 20 Jan 2012)
New Revision: 1344
Url: http://nuiton.org/repositories/revision/wikitty/1344
Log:
Add more tests about import/export.
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-19 17:26:37 UTC (rev 1343)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-20 09:58:24 UTC (rev 1344)
@@ -41,6 +41,11 @@
import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.addons.WikittyImportExportService;
import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
+import org.nuiton.wikitty.entities.ExtensionFactory;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.entities.WikittyTypes;
import org.nuiton.wikitty.services.WikittyServiceInMemory;
import org.nuiton.wikitty.test.CatalogNode;
import org.nuiton.wikitty.test.CatalogNodeImpl;
@@ -114,6 +119,7 @@
wikittyClient = getWikittyClient();
wikittyClient.clear();
addTestDataInClient(wikittyClient);
+ addManualExtension(wikittyClient);
}
/**
@@ -124,7 +130,7 @@
* @param wikittyClient wikitty client
* @throws ParseException
*/
- protected void addTestDataInClient(WikittyClient wikittyClient) throws ParseException {
+ protected void addTestDataInClient(WikittyClient client) throws ParseException {
// Categories
Category sf = new CategoryImpl("sf", "science fiction");
@@ -132,7 +138,7 @@
Category society = new CategoryImpl("society", "société");
Category fantastic = new CategoryImpl("fan", "fantastique");
Category fantaisie = new CategoryImpl("hf", "heroique/fantaisie");
- wikittyClient.store(sf, society, fantastic, fantaisie, history);
+ client.store(sf, society, fantastic, fantaisie, history);
// Product (multiple inheritance)
Product book42 = new ProductImpl("Answer to life the universe and everything");
@@ -167,7 +173,7 @@
bookLan.setCategory(fantastic.getWikittyId());
bookLan.addColors("red", "yellow");
bookLan.setDate(df.parse("January 12, 2002"));
- wikittyClient.store(book42, bookIndignez, bookLotr, bookLan);
+ client.store(book42, bookIndignez, bookLotr, bookLan);
// some tree nodes
CatalogNode rootNode = new CatalogNodeImpl("rootnode");
@@ -184,11 +190,49 @@
romanNode.addAttachment(book42.getWikittyId(), bookLotr.getWikittyId());
CatalogNode otherNode = new CatalogNodeImpl("Everything else");
otherNode.setParent(rootNode.getWikittyId());
- wikittyClient.store(rootNode, livreNode, bdNode, newsNode, romanNode, otherNode);
+ client.store(rootNode, livreNode, bdNode, newsNode, romanNode, otherNode);
}
/**
+ * Create new "movies" extension.
+ *
+ * @param wikittyClient client
+ */
+ protected void addManualExtension(WikittyClient client) {
+ // create extension
+ WikittyExtension movieExtension = ExtensionFactory.create("Movies", "1.0")
+ .addField("Name", WikittyTypes.STRING)
+ .addField("Author", WikittyTypes.STRING).maxOccur(Integer.MAX_VALUE)
+ .addField("Category", WikittyTypes.WIKITTY)
+ .addField("Year", WikittyTypes.STRING)
+ .extension();
+ client.storeExtension(movieExtension);
+
+ // create wikitty movies
+ Wikitty dieHardMovie = new WikittyImpl();
+ dieHardMovie.addExtension(movieExtension);
+ dieHardMovie.setField("Movies", "Name", "Die hard 4");
+ dieHardMovie.addToField("Movies", "Author", "Willis");
+ dieHardMovie.addToField("Movies", "Year", "2009");
+
+ Wikitty edgarMovie = new WikittyImpl();
+ edgarMovie.addExtension(movieExtension);
+ edgarMovie.setField("Movies", "Name", "J. Edgar");
+ edgarMovie.addToField("Movies", "Author", "Eastwood");
+ edgarMovie.addToField("Movies", "Year", "2011");
+
+ Wikitty dnrMovie = new WikittyImpl();
+ dnrMovie.addExtension(movieExtension);
+ dnrMovie.setField("Movies", "Name", "The Dark Knight Rises");
+ dnrMovie.addToField("Movies", "Author", "Nolan");
+ dnrMovie.addToField("Movies", "Year", "2012");
+
+ client.store(dieHardMovie, edgarMovie);
+ }
+
+ /**
* Import books from csv files.
+ *
* @throws IOException
*/
protected void importBooks() throws IOException {
@@ -204,4 +248,38 @@
IOUtils.closeQuietly(reader);
}
}
+
+ /**
+ * Import books from csv files.
+ *
+ * @throws IOException
+ */
+ protected void importClients() throws IOException {
+
+ // client and tag extensions (used in some imports)
+ wikittyClient.storeExtension(new WikittyExtension("Client", "1.0",
+ WikittyUtil.buildFieldMapExtension(
+ "String name")));
+ wikittyClient.storeExtension(new WikittyExtension("Tag", "1.0",
+ WikittyUtil.buildFieldMapExtension(
+ "String tags")));
+
+ WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
+
+ String[] importFiles = {
+ "/csv/importclient.csv",
+ "/csv/importtree.csv",
+ "/csv/importtree2.csv"};
+ for (String importFile : importFiles) {
+ InputStreamReader reader = null;
+ try {
+ InputStream is = WikittyClientAbstractTest.class.getResourceAsStream(importFile);
+ reader = new InputStreamReader(is);
+ ieService.syncImport(FORMAT.CSV, reader);
+ reader.close();
+ } finally {
+ IOUtils.closeQuietly(reader);
+ }
+ }
+ }
}
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-19 17:26:37 UTC (rev 1343)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-20 09:58:24 UTC (rev 1344)
@@ -37,6 +37,7 @@
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
+import org.nuiton.wikitty.test.Category;
import org.nuiton.wikitty.test.Product;
/**
@@ -117,6 +118,18 @@
}
/**
+ * Test la recherche sur les extensions et wikitty crée manuelement.
+ */
+ @Test
+ public void testFindQueryOnMovies() {
+ // The Dark Knight Rises
+ // Die hard 4
+ WikittyQuery query = new WikittyQueryMaker().eq("Movies.name", "*ar*").end();
+ WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query);
+ Assert.assertEquals(2, results.getAll().size());
+ }
+
+ /**
* Test le resultat attendu d'un export XML.
*/
@Test
@@ -145,7 +158,6 @@
WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, WikittyTreeNode.EXT_WIKITTYTREENODE).end();
String csvExport = ieService.syncExportAllByQuery(FORMAT.CSV, query);
- System.out.println(csvExport);
// extension definition is present in xml export
Assert.assertTrue(csvExport.startsWith("\"Wikitty.Id\",\"Wikitty.Ext\",\"WikittyTreeNode.attachment\",\"WikittyTreeNode.name\",\"WikittyTreeNode.parent\""));
@@ -161,11 +173,76 @@
* @throws IOException
*/
@Test
- public void testImportCSV() throws IOException {
+ public void testImportCSVBooks() throws IOException {
importBooks(); // 13 books
WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, Product.EXT_PRODUCT).end();
WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query);
Assert.assertEquals(4 + 13, results.getTotalResult());
}
+
+ /**
+ * Test dans l'import csv que les request de liaisons d'elements
+ * fonctionne.
+ *
+ * Les livres sont liés à des categories.
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testImportCSVBooksLinks() throws IOException {
+ importBooks();
+
+ WikittyQuery query = new WikittyQueryMaker().eq(Product.ELEMENT_FIELD_PRODUCT_NAME, "Da vinci code").end();
+ Product product = wikittyClient.findByQuery(Product.class, query);
+ String categoryId = product.getCategory();
+ Category category = wikittyClient.restore(Category.class, categoryId);
+ Assert.assertEquals("science fiction", category.getName());
+ }
+
+ /**
+ * Test les requetage après l'import client.
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testImportClients() throws IOException {
+ importClients();
+
+ // test extension support
+ WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, "Tag").end();
+ WikittyQueryResult<String> results = wikittyClient.findAllByQuery(query);
+ Assert.assertEquals(1, results.getTotalResult());
+
+ // test normal import
+ WikittyQuery query2 = new WikittyQueryMaker().eq("Client.name", "Toto").end();
+ WikittyQueryResult<String> results2 = wikittyClient.findAllByQuery(query2);
+ Assert.assertEquals(1, results2.getTotalResult());
+
+ // import attachment id that not exist, must be not imported
+ WikittyQuery query3 = new WikittyQueryMaker().eq(WikittyTreeNode.ELEMENT_FIELD_WIKITTYTREENODE_NAME, "MyTreeNode").end();
+ WikittyQueryResult<WikittyTreeNode> results3 = wikittyClient.findAllByQuery(WikittyTreeNode.class, query3);
+ Assert.assertEquals(1, results3.getTotalResult());
+ WikittyTreeNode myTreeNode = results3.get(0);
+ Assert.assertEquals(1, myTreeNode.getAttachment().size());
+
+ // test des requetes imbriquées
+ WikittyQuery query4 = new WikittyQueryMaker().eq(WikittyTreeNode.ELEMENT_FIELD_WIKITTYTREENODE_PARENT, myTreeNode.getWikittyId()).end();
+ WikittyQueryResult<WikittyTreeNode> results4 = wikittyClient.findAllByQuery(WikittyTreeNode.class, query4);
+ Assert.assertEquals(1, results4.getTotalResult());
+ WikittyTreeNode mySubNode = results4.get(0);
+ Assert.assertEquals("MySubNode", mySubNode.getName());
+ System.out.println(mySubNode.getName());
+ }
+
+ /**
+ * Test que faire l'import 2 fois de suite cause une wikitty obselete
+ * exception.
+ * @throws IOException
+ */
+ @Test(expected=WikittyException.class)
+ public void testImportTwice() throws IOException {
+ importClients();
+ importClients();
+ }
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java 2012-01-19 17:26:37 UTC (rev 1343)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java 2012-01-20 09:58:24 UTC (rev 1344)
@@ -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
@@ -25,33 +25,12 @@
package org.nuiton.wikitty.addons.importexport;
-import java.net.URL;
-import java.util.Collections;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.WikittyException;
-import org.nuiton.wikitty.search.Criteria;
-import org.nuiton.wikitty.search.PagedResult;
-import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.entities.WikittyTreeNode;
-import org.nuiton.wikitty.entities.WikittyTreeNodeImpl;
-import org.nuiton.wikitty.entities.WikittyExtension;
-import org.nuiton.wikitty.addons.WikittyImportExportService;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.WikittyServiceFactory;
-import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.search.operators.Element;
-import org.nuiton.wikitty.search.Search;
/**
* Test for CSV import export class
@@ -64,41 +43,6 @@
*/
public class ImportExportCSVTest {
- private final static Log log = LogFactory.getLog(ImportExportCSVTest.class);
-
- 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);
- }
-
- public WikittyService getWikittyService() {
- return ws;
- }
-
- public void setWikittyService(WikittyService wikittyService) {
- this.ws = wikittyService;
- }
-
- protected static final WikittyExtension extensionClient =
- new WikittyExtension("Client", "1.0",
- WikittyUtil.buildFieldMapExtension(
- "String name"));
-
- protected static final WikittyExtension extensionTag =
- new WikittyExtension("Tag", "1.0",
- WikittyUtil.buildFieldMapExtension(
- "String tags"));
-
/**
* Test que le pattern match les bonnes choses.
*/
@@ -170,66 +114,4 @@
Assert.assertEquals(1, result.length);
Assert.assertEquals("toto ?", result[0]);
}
-
- /**
- * Test l'import export.
- */
- @Test
- public void testImport() {
-
- // store required import extension
- WikittyProxy proxy = new WikittyProxy(ws);
- proxy.storeExtension(extensionClient);
- proxy.storeExtension(WikittyTreeNodeImpl.extensionWikittyTreeNode);
- proxy.storeExtension(extensionTag);
-
- // declare import service
- ApplicationConfig config = WikittyConfig.getConfig();
- WikittyImportExportService wsImport =
- new WikittyImportExportService(config, null, ws);
- String[] importFiles = {
- "/csv/importclient.csv",
- "/csv/importtree.csv",
- "/csv/importtree2.csv"};
- for (String importFile : importFiles) {
- URL importFileURL = ImportExportCSVTest.class.getResource(importFile);
- wsImport.syncImportFromUri(WikittyImportExportService.FORMAT.CSV,
- importFileURL.toExternalForm());
- }
-
- // test extension support
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, extensionTag.getName()).criteria();
- PagedResult<String> pagedResult = ws.findAllByCriteria(null, Collections.singletonList(criteria)).get(0);
- Assert.assertEquals(1, pagedResult.getNumFound());
-
- // test normal import
- Criteria criteria2 = Search.query().eq(extensionClient.getName() + ".name", "Toto").criteria();
- PagedResult<String> pagedResult2 = ws.findAllByCriteria(null, Collections.singletonList(criteria2)).get(0);
- Assert.assertEquals(1, pagedResult2.getNumFound());
-
- // import attachment id that not exist, must be not imported
- Criteria criteria3 = Search.query().eq(WikittyTreeNode.FQ_FIELD_WIKITTYTREENODE_NAME, "MyTreeNode").criteria();
- PagedResult<WikittyTreeNode> pagedResult3 = proxy.findAllByCriteria(WikittyTreeNode.class, criteria3);
- Assert.assertEquals(1, pagedResult3.getNumFound());
- WikittyTreeNode myTreeNode = pagedResult3.getFirst();
- Assert.assertEquals(1, myTreeNode.getAttachment().size());
-
- // test des requetes imbriquées
- Criteria criteria4 = Search.query().eq(WikittyTreeNode.FQ_FIELD_WIKITTYTREENODE_PARENT, myTreeNode.getWikittyId()).criteria();
- PagedResult<WikittyTreeNode> pagedResult4 = proxy.findAllByCriteria(WikittyTreeNode.class, criteria4);
- Assert.assertEquals(1, pagedResult4.getNumFound());
- WikittyTreeNode mySubNode = pagedResult4.getFirst();
- Assert.assertEquals("MySubNode", mySubNode.getName());
-
- // test wikitty is obselete exception
- try {
- for (String importFile : importFiles) {
- URL importFileURL = ImportExportCSVTest.class.getResource(importFile);
- wsImport.syncImportFromUri(WikittyImportExportService.FORMAT.CSV,
- importFileURL.toExternalForm());
- }
- } catch (WikittyException eee) {
- Assert.fail();
- }
- }
}
1
0
r1343 - in trunk/wikitty-api/src/test: java/org/nuiton/wikitty java/org/nuiton/wikitty/test resources/csv xmi
by echatellier@users.nuiton.org 19 Jan '12
by echatellier@users.nuiton.org 19 Jan '12
19 Jan '12
Author: echatellier
Date: 2012-01-19 18:26:37 +0100 (Thu, 19 Jan 2012)
New Revision: 1343
Url: http://nuiton.org/repositories/revision/wikitty/1343
Log:
Ajout d'un jeu d'import pour les test d'import (CSV)
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
trunk/wikitty-api/src/test/resources/csv/importbooks.csv
Modified:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java
trunk/wikitty-api/src/test/xmi/wikittytest.zargo
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java 2012-01-19 17:26:37 UTC (rev 1343)
@@ -0,0 +1,207 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 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;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.util.Locale;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assume;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.wikitty.addons.WikittyImportExportService;
+import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
+import org.nuiton.wikitty.services.WikittyServiceInMemory;
+import org.nuiton.wikitty.test.CatalogNode;
+import org.nuiton.wikitty.test.CatalogNodeImpl;
+import org.nuiton.wikitty.test.Category;
+import org.nuiton.wikitty.test.CategoryImpl;
+import org.nuiton.wikitty.test.Product;
+import org.nuiton.wikitty.test.ProductImpl;
+
+/**
+ * Abstract test for wikitty client.
+ *
+ * Just init object, and load defaut and import data. Asserts are subclassed.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public abstract class WikittyClientAbstractTest {
+
+ static private Log log = LogFactory.getLog(WikittyClientAbstractTest.class);
+
+ protected static ApplicationConfig wikittyConfig;
+
+ protected WikittyClient wikittyClient;
+
+ protected static DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.ENGLISH);
+
+ /**
+ * Certains test utilisent des fonctionnalités avancés des moteurs de
+ * recherche et de facetisation et ne peuvent pas fonctionner si
+ * l'instance in memory ne supporte pas la fonctionnalité testée.
+ */
+ protected void assumeTrueSearchEngineCanRunTest() {
+ boolean isInMomory = wikittyClient.getWikittyService() instanceof WikittyServiceInMemory;
+ if (isInMomory) {
+ log.warn("Not yet implemented in memory, skipping");
+ }
+ Assume.assumeTrue(!isInMomory);
+ }
+
+ /**
+ * Init {@link ApplicationConfig} class.
+ */
+ @BeforeClass
+ public static void setUpConfig() {
+ // can't call parse method here
+ wikittyConfig = new ApplicationConfig(
+ WikittyConfigOption.class, WikittyConfigAction.class,
+ null, null);
+ }
+
+ /**
+ * Override to method in sub tests to change wikitty client implementation.
+ *
+ * @return wikitty client implementation to use in current test case instance
+ */
+ protected WikittyClient getWikittyClient() {
+ WikittyService wikittyService = new WikittyServiceInMemory(wikittyConfig);
+ WikittyClient client = new WikittyClient(wikittyConfig, wikittyService);
+ return client;
+ }
+
+ /**
+ * Clear all data and add some test data for all tests.
+ * @throws ParseException
+ */
+ @Before
+ public void setUpTestData() throws ParseException {
+ wikittyClient = getWikittyClient();
+ wikittyClient.clear();
+ addTestDataInClient(wikittyClient);
+ }
+
+ /**
+ * Add some wikitty in client.
+ *
+ * In test case, product are books.
+ *
+ * @param wikittyClient wikitty client
+ * @throws ParseException
+ */
+ protected void addTestDataInClient(WikittyClient wikittyClient) throws ParseException {
+
+ // Categories
+ Category sf = new CategoryImpl("sf", "science fiction");
+ Category history = new CategoryImpl("history", "history");
+ Category society = new CategoryImpl("society", "société");
+ Category fantastic = new CategoryImpl("fan", "fantastique");
+ Category fantaisie = new CategoryImpl("hf", "heroique/fantaisie");
+ wikittyClient.store(sf, society, fantastic, fantaisie, history);
+
+ // Product (multiple inheritance)
+ Product book42 = new ProductImpl("Answer to life the universe and everything");
+ book42.setPrice(4200);
+ book42.setPicturePrice(420);
+ book42.setPriceFromProduct(42);
+ book42.addColors("white", "black");
+ book42.setDate(df.parse("December 25, 1983"));
+ book42.setCategory(sf.getWikittyId());
+
+ Product bookIndignez = new ProductImpl("Indignez-vous !");
+ bookIndignez.setPrice(1);
+ bookIndignez.setPicturePrice(2);
+ bookIndignez.setPriceFromProduct(15);
+ bookIndignez.setCategory(sf.getWikittyId());
+ bookIndignez.addColors("white");
+ bookIndignez.setDate(df.parse("April 12, 2011"));
+ bookIndignez.setCategory(society.getWikittyId());
+
+ Product bookLotr = new ProductImpl("Le seigneur des anneaux");
+ bookLotr.setPrice(11);
+ bookLotr.setPicturePrice(12);
+ bookLotr.setPriceFromProduct(100);
+ bookLotr.setCategory(sf.getWikittyId());
+ bookLotr.setDate(df.parse("July 9, 1953"));
+ bookLotr.addColors("red", "blue");
+
+ Product bookLan = new ProductImpl("Lanfeust");
+ bookLan.setPrice(0);
+ bookLan.setPicturePrice(5);
+ bookLan.setPriceFromProduct(14);
+ bookLan.setCategory(fantastic.getWikittyId());
+ bookLan.addColors("red", "yellow");
+ bookLan.setDate(df.parse("January 12, 2002"));
+ wikittyClient.store(book42, bookIndignez, bookLotr, bookLan);
+
+ // some tree nodes
+ CatalogNode rootNode = new CatalogNodeImpl("rootnode");
+ CatalogNode livreNode = new CatalogNodeImpl("Livres");
+ livreNode.setParent(rootNode.getWikittyId());
+ CatalogNode bdNode = new CatalogNodeImpl("Bande dessinées");
+ bdNode.setParent(livreNode.getWikittyId());
+ bdNode.addAttachment(bookLan.getWikittyId());
+ CatalogNode newsNode = new CatalogNodeImpl("Nouvelles");
+ newsNode.setParent(livreNode.getWikittyId());
+ newsNode.addAttachment(bookIndignez.getWikittyId());
+ CatalogNode romanNode = new CatalogNodeImpl("Roman");
+ romanNode.setParent(livreNode.getWikittyId());
+ romanNode.addAttachment(book42.getWikittyId(), bookLotr.getWikittyId());
+ CatalogNode otherNode = new CatalogNodeImpl("Everything else");
+ otherNode.setParent(rootNode.getWikittyId());
+ wikittyClient.store(rootNode, livreNode, bdNode, newsNode, romanNode, otherNode);
+ }
+
+ /**
+ * Import books from csv files.
+ * @throws IOException
+ */
+ protected void importBooks() throws IOException {
+ WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
+
+ InputStreamReader reader = null;
+ try {
+ InputStream is = WikittyClientAbstractTest.class.getResourceAsStream("/csv/importbooks.csv");
+ reader = new InputStreamReader(is);
+ ieService.syncImport(FORMAT.CSV, reader);
+ reader.close();
+ } finally {
+ IOUtils.closeQuietly(reader);
+ }
+ }
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientAbstractTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
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-19 17:17:50 UTC (rev 1342)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-19 17:26:37 UTC (rev 1343)
@@ -25,15 +25,10 @@
package org.nuiton.wikitty;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.util.Locale;
+import java.io.IOException;
import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.addons.WikittyImportExportService;
import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
import org.nuiton.wikitty.entities.Element;
@@ -42,13 +37,7 @@
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
import org.nuiton.wikitty.query.WikittyQueryResult;
-import org.nuiton.wikitty.services.WikittyServiceInMemory;
-import org.nuiton.wikitty.test.CatalogNode;
-import org.nuiton.wikitty.test.CatalogNodeImpl;
-import org.nuiton.wikitty.test.Category;
-import org.nuiton.wikitty.test.CategoryImpl;
import org.nuiton.wikitty.test.Product;
-import org.nuiton.wikitty.test.ProductImpl;
/**
* Wikitty client test to test for client use.
@@ -62,118 +51,9 @@
* Last update : $Date$
* By : $Author$
*/
-public class WikittyClientTest {
+public class WikittyClientTest extends WikittyClientAbstractTest {
- protected static ApplicationConfig wikittyConfig;
-
- protected WikittyClient wikittyClient;
-
- protected static DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.ENGLISH);
-
/**
- * Init {@link ApplicationConfig} class.
- */
- @BeforeClass
- public static void setUpConfig() {
- // can't call parse method here
- wikittyConfig = new ApplicationConfig(
- WikittyConfigOption.class, WikittyConfigAction.class,
- null, null);
- }
-
- /**
- * Override to method in sub tests to change wikitty client implementation.
- *
- * @return wikitty client implementation to use in current test case instance
- */
- protected WikittyClient getWikittyClient() {
- WikittyService wikittyService = new WikittyServiceInMemory(wikittyConfig);
- WikittyClient client = new WikittyClient(wikittyConfig, wikittyService);
- return client;
- }
-
- /**
- * Clear all data and add some test data for all tests.
- * @throws ParseException
- */
- @Before
- public void setUpTestData() throws ParseException {
- wikittyClient = getWikittyClient();
- wikittyClient.clear();
- addTestDataInClient(wikittyClient);
- }
-
- /**
- * Add some wikitty in client.
- *
- * In test case, product are books.
- *
- * @param wikittyClient wikitty client
- * @throws ParseException
- */
- protected void addTestDataInClient(WikittyClient wikittyClient) throws ParseException {
-
- // Categories
- Category sf = new CategoryImpl("science fiction");
- Category society = new CategoryImpl("société");
- Category fantastic = new CategoryImpl("fantastique");
- Category fantaisie = new CategoryImpl("heroique/fantaisie");
- wikittyClient.store(sf, society, fantastic, fantaisie);
-
- // Product (multiple inheritance)
- Product book42 = new ProductImpl("Answer to life the universe and everything");
- book42.setPrice(4200);
- book42.setPicturePrice(420);
- book42.setPriceFromProduct(42);
- book42.addColors("white", "black");
- book42.setDate(df.parse("December 25, 1983"));
- book42.setCategory(sf.getWikittyId());
-
- Product bookIndignez = new ProductImpl("Indignez-vous !");
- bookIndignez.setPrice(1);
- bookIndignez.setPicturePrice(2);
- bookIndignez.setPriceFromProduct(15);
- bookIndignez.setCategory(sf.getWikittyId());
- bookIndignez.addColors("white");
- bookIndignez.setDate(df.parse("April 12, 2011"));
- bookIndignez.setCategory(society.getWikittyId());
-
- Product bookLotr = new ProductImpl("Le seigneur des anneaux");
- bookLotr.setPrice(11);
- bookLotr.setPicturePrice(12);
- bookLotr.setPriceFromProduct(100);
- bookLotr.setCategory(sf.getWikittyId());
- bookLotr.setDate(df.parse("July 9, 1953"));
- bookLotr.addColors("red", "blue");
-
- Product bookLan = new ProductImpl("Lanfeust");
- bookLan.setPrice(0);
- bookLan.setPicturePrice(5);
- bookLan.setPriceFromProduct(14);
- bookLan.setCategory(fantastic.getWikittyId());
- bookLan.addColors("red", "yellow");
- bookLan.setDate(df.parse("January 12, 2002"));
- wikittyClient.store(book42, bookIndignez, bookLotr, bookLan);
-
- // some tree nodes
- CatalogNode rootNode = new CatalogNodeImpl("rootnode");
- CatalogNode livreNode = new CatalogNodeImpl("Livres");
- livreNode.setParent(rootNode.getWikittyId());
- CatalogNode bdNode = new CatalogNodeImpl("Bande dessinées");
- bdNode.setParent(livreNode.getWikittyId());
- bdNode.addAttachment(bookLan.getWikittyId());
- CatalogNode newsNode = new CatalogNodeImpl("Nouvelles");
- newsNode.setParent(livreNode.getWikittyId());
- newsNode.addAttachment(bookIndignez.getWikittyId());
- CatalogNode romanNode = new CatalogNodeImpl("Roman");
- romanNode.setParent(livreNode.getWikittyId());
- romanNode.addAttachment(book42.getWikittyId(), bookLotr.getWikittyId());
- CatalogNode otherNode = new CatalogNodeImpl("Everything else");
- otherNode.setParent(rootNode.getWikittyId());
- wikittyClient.store(rootNode, livreNode, bdNode, newsNode, romanNode, otherNode);
- }
-
- /**
* Test a query with query maker.
*/
@Test
@@ -240,11 +120,52 @@
* Test le resultat attendu d'un export XML.
*/
@Test
- public void testExport() {
+ 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);
- System.out.println(xmlExport);
-
+
+ // extension definition is present in xml export
+ Assert.assertTrue(xmlExport.contains("<extension name='WikittyTreeNode' version='2.0'>"));
+ // some data too
+ Assert.assertTrue(xmlExport.contains("<WikittyTreeNode.name>Livres</WikittyTreeNode.name>"));
+ Assert.assertTrue(xmlExport.contains("extensions='WikittyTreeNode[2.0],CatalogNode[2.0]'"));
+ Assert.assertTrue(xmlExport.contains("<WikittyTreeNode.attachment>"));
}
+
+ /**
+ * Test le resultat attendu d'un export CSV.
+ */
+ @Test
+ public void testExportCSV() {
+ assumeTrueSearchEngineCanRunTest(); // facets
+
+ WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
+ WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, WikittyTreeNode.EXT_WIKITTYTREENODE).end();
+ String csvExport = ieService.syncExportAllByQuery(FORMAT.CSV, query);
+ System.out.println(csvExport);
+
+ // extension definition is present in xml export
+ Assert.assertTrue(csvExport.startsWith("\"Wikitty.Id\",\"Wikitty.Ext\",\"WikittyTreeNode.attachment\",\"WikittyTreeNode.name\",\"WikittyTreeNode.parent\""));
+ // some data too
+ Assert.assertTrue(csvExport.contains("\"WikittyTreeNode,CatalogNode\",,\"Everything else\""));
+ Assert.assertTrue(csvExport.contains("\"WikittyTreeNode,CatalogNode\",,\"rootnode\""));
+ Assert.assertTrue(csvExport.contains("\"WikittyTreeNode,CatalogNode\",,\"Livres\""));
+ Assert.assertTrue(csvExport.contains("Nouvelles"));
+ }
+
+ /**
+ * Test l'import csv des livres.
+ * @throws IOException
+ */
+ @Test
+ public void testImportCSV() throws IOException {
+ importBooks(); // 13 books
+
+ WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, Product.EXT_PRODUCT).end();
+ WikittyQueryResult<Product> results = wikittyClient.findAllByQuery(Product.class, query);
+ Assert.assertEquals(4 + 13, results.getTotalResult());
+ }
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java 2012-01-19 17:17:50 UTC (rev 1342)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java 2012-01-19 17:26:37 UTC (rev 1343)
@@ -20,8 +20,9 @@
}
- public CategoryImpl(String name) {
+ public CategoryImpl(String code, String name) {
this();
+ setCode(code);
setName(name);
}
Added: trunk/wikitty-api/src/test/resources/csv/importbooks.csv
===================================================================
--- trunk/wikitty-api/src/test/resources/csv/importbooks.csv (rev 0)
+++ trunk/wikitty-api/src/test/resources/csv/importbooks.csv 2012-01-19 17:26:37 UTC (rev 1343)
@@ -0,0 +1,14 @@
+"Wikitty.Id","Wikitty.Ext","Product.category","Product.colors","Product.date","Product.name","Product.price","ProductDocumentation.documentation","ProductDocumentation.price","ProductPicture.picture","ProductPicture.price"
+"4d221e31-ff9b-44f0-8545-f9884435f30d","ProductPicture,ProductDocumentation,Product","Category.code=sf","(black)","1997-01-11T23:00:00.000+0000Z","Harry Potter à l'école des sorciers","29",,"0",,"2"
+"a6121143-f5a4-4567-8c2a-f5e3f5241a56","ProductPicture,ProductDocumentation,Product","Category.code=love","(pink)","1953-07-08T23:00:00.000+0000Z","Roméo et Juliette","30",,"11",,"10"
+"36b8e47d-5d38-4818-b915-6a318f7b74d8","ProductPicture,ProductDocumentation,Product","Category.code=history","(white),(black)","1983-12-24T23:00:00.000+0000Z","Oliver Twist","42",,"2",,"5"
+"94f4c6ca-49cd-4e4f-954f-cee8654582be","ProductPicture,ProductDocumentation,Product","Category.code=history","(white)","2011-04-11T22:00:00.000+0000Z","Guerre et Paix","15",,"1",,"2"
+"aa3dc36f-cb12-4bad-a405-ae1146975567","ProductPicture,ProductDocumentation,Product","Category.code=history","(pink)","2011-04-11T22:00:00.000+0000Z","Les Quatre filles du Dr March","15",,"1",,"2"
+"6ee97a12-0f2b-4d6f-8d28-ad40e8d4e178","ProductPicture,ProductDocumentation,Product","Category.code=history","(white)","2011-04-11T22:00:00.000+0000Z","Les Chevaliers de La Table Ronde","15",,"1",,"2"
+"db9dc782-e650-4fd4-83ac-3c1c5c136cde","ProductPicture,ProductDocumentation,Product","Category.code=sf","(white)","2011-04-08T22:00:00.000+0000Z","Da vinci code","49",,"1",,"2"
+"584adc1e-726d-4348-9a57-77153d245b34","ProductPicture,ProductDocumentation,Product","Category.code=sf","(red)","2011-02-11T22:00:00.000+0000Z","Le Symbole perdu","49",,"0",,"2"
+"0f30c93f-7ad5-4f03-8714-b2e62f2446af","ProductPicture,ProductDocumentation,Product","Category.code=sf","(blue)","1998-05-27T22:00:00.000+0000Z","Harry Potter et la Chambre des secrets","30",,"0",,"10"
+"d55f4c0a-af3c-45bc-ade9-8512b80121dd","ProductPicture,ProductDocumentation,Product","Category.code=sf","(red)","1999-04-13T22:00:00.000+0000Z","Harry Potter et le Prisonnier d'Azkaban","23",,"0",,"3"
+"28feed78-6179-4232-bed3-ef7e0c4c71a0","ProductPicture,ProductDocumentation,Product","Category.code=sf","(black)","2000-01-14T22:00:00.000+0000Z","Harry Potter et la Coupe de feu","51",,"0",,"2"
+"76ab5768-593e-471f-8101-da39e440d686","ProductPicture,ProductDocumentation,Product","Category.code=sf","(yellow)","2003-04-30T22:00:00.000+0000Z","Harry Potter et l'Ordre du phénix","52",,"0",,"7"
+"ce57b748-3f73-4d38-a401-47b405cbfb34","ProductPicture,ProductDocumentation,Product","Category.code=sf","(white)","2005-01-02T22:00:00.000+0000Z","Harry Potter et le Prince de sang-mêlé","19",,"0",,"5"
Modified: trunk/wikitty-api/src/test/xmi/wikittytest.zargo
===================================================================
(Binary files differ)
1
0
r1342 - trunk/wikitty-api/src/main/java/org/nuiton/wikitty
by echatellier@users.nuiton.org 19 Jan '12
by echatellier@users.nuiton.org 19 Jan '12
19 Jan '12
Author: echatellier
Date: 2012-01-19 18:17:50 +0100 (Thu, 19 Jan 2012)
New Revision: 1342
Url: http://nuiton.org/repositories/revision/wikitty/1342
Log:
Modification des noms criteria/query
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-19 16:10:34 UTC (rev 1341)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyClient.java 2012-01-19 17:17:50 UTC (rev 1342)
@@ -676,13 +676,13 @@
* @param <E> object type
* Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
* @param clazz entity class
- * @param criterias criterias
+ * @param queries queries
* @return paged result
*/
public <E> List<WikittyQueryResult<E>> findAllByQuery(
- Class<E> clazz, List<WikittyQuery> criterias) {
+ Class<E> clazz, List<WikittyQuery> queries) {
long start = TimeLog.getTime();
- List<WikittyQueryResult<E>> result = findAllByQuery(clazz, criterias, false);
+ List<WikittyQueryResult<E>> result = findAllByQuery(clazz, queries, false);
timeLog.log(start, "findAllByQuery<E>(List)");
return result;
}
@@ -696,14 +696,14 @@
* @param <E> object type
* Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
* @param clazz entity class
- * @param criteria criteria
+ * @param query query
* @return paged result
*/
public <E> WikittyQueryResult<E> findAllByQuery(
- Class<E> clazz, WikittyQuery criteria) {
+ Class<E> clazz, WikittyQuery query) {
long start = TimeLog.getTime();
WikittyQueryResult<E> result = findAllByQuery(clazz,
- Collections.singletonList(criteria), false).get(0);
+ Collections.singletonList(query), false).get(0);
timeLog.log(start, "findAllByQuery<E>(One)");
return result;
}
@@ -718,21 +718,21 @@
* @param <E> object type
* Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[]
* @param clazz entity class
- * @param c1 criteria 1
- * @param c2 criteria 2
- * @param otherCriteria otherCriteria
+ * @param q1 query 1
+ * @param q2 query 2
+ * @param otherQueries otherQueries
* @return paged result
*/
public <E> WikittyQueryResult<E>[] findAllByQuery(
- Class<E> clazz, WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria) {
+ Class<E> clazz, WikittyQuery q1, WikittyQuery q2, WikittyQuery... otherQueries) {
long start = TimeLog.getTime();
- List<WikittyQuery> criterias = new ArrayList<WikittyQuery>(otherCriteria.length + 2);
- Collections.addAll(criterias, c1, c2);
- Collections.addAll(criterias, otherCriteria);
+ List<WikittyQuery> queries = new ArrayList<WikittyQuery>(otherQueries.length + 2);
+ Collections.addAll(queries, q1, q2);
+ Collections.addAll(queries, otherQueries);
- List<WikittyQueryResult<E>> resultList = findAllByQuery(clazz, criterias, false);
- WikittyQueryResult<E>[] result = resultList.toArray(new WikittyQueryResult[criterias.size()]);
- timeLog.log(start, "findAllByCriteria<Business>(Varargs)");
+ List<WikittyQueryResult<E>> resultList = findAllByQuery(clazz, queries, false);
+ WikittyQueryResult<E>[] result = resultList.toArray(new WikittyQueryResult[queries.size()]);
+ timeLog.log(start, "findAllByQuery<Business>(Varargs)");
return result;
}
@@ -742,11 +742,11 @@
//
///////////////////////////////////////////////////////////////////////////
- public <E> List<E> findByQuery(Class<E> clazz, List<WikittyQuery> criterias) {
+ public <E> List<E> findByQuery(Class<E> clazz, List<WikittyQuery> queries) {
long start = TimeLog.getTime();
List<WikittyQueryResult<E>> queryResult =
- findAllByQuery(clazz, criterias, true);
+ findAllByQuery(clazz, queries, true);
List<E> result = new ArrayList<E>(queryResult.size());
for (WikittyQueryResult<E> r : queryResult) {
if (r.size() > 0) {
@@ -756,32 +756,32 @@
}
}
- timeLog.log(start, "multiFindByCriteria<E>(List>");
+ timeLog.log(start, "findByQuery<E>(List)");
return result;
}
- public <E> E findByQuery(Class<E> clazz, WikittyQuery criteria) {
+ public <E> E findByQuery(Class<E> clazz, WikittyQuery query) {
long start = TimeLog.getTime();
E result = null;
- if (criteria != null) {
- result = findByQuery(clazz, Collections.singletonList(criteria)).get(0);
+ if (query != null) {
+ result = findByQuery(clazz, Collections.singletonList(query)).get(0);
}
timeLog.log(start, "findByQuery<E>(One)");
return result;
}
public <E> E[] findByQuery(
- Class<E> clazz, WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria) {
+ Class<E> clazz, WikittyQuery q1, WikittyQuery q2, WikittyQuery... otherQueries) {
long start = TimeLog.getTime();
- List<WikittyQuery> criterias = new ArrayList<WikittyQuery>(otherCriteria.length + 2);
- Collections.addAll(criterias, c1, c2);
- Collections.addAll(criterias, otherCriteria);
+ List<WikittyQuery> queries = new ArrayList<WikittyQuery>(otherQueries.length + 2);
+ Collections.addAll(queries, q1, q2);
+ Collections.addAll(queries, otherQueries);
- List<E> resultList = findByQuery(clazz, criterias);
+ List<E> resultList = findByQuery(clazz, queries);
E[] result = resultList.toArray((E[])Array.newInstance(clazz, resultList.size()));
- timeLog.log(start, "findByCriteria<E>(Varargs)");
+ timeLog.log(start, "findByQuery<E>(Varargs)");
return result;
}
@@ -791,24 +791,24 @@
//
///////////////////////////////////////////////////////////////////////////
- public List<WikittyQueryResult<String>> findAllByQuery(List<WikittyQuery> criteria) {
+ public List<WikittyQueryResult<String>> findAllByQuery(List<WikittyQuery> query) {
long start = TimeLog.getTime();
List<WikittyQueryResult<String>> result = null;
- if (criteria != null) {
- result = wikittyService.findAllByQuery(securityToken, criteria);
+ if (query != null) {
+ result = wikittyService.findAllByQuery(securityToken, query);
}
- timeLog.log(start, "findAllByCriteria(List)");
+ timeLog.log(start, "findAllByQuery(List)");
return result;
}
- public WikittyQueryResult<String> findAllByQuery(WikittyQuery criteria) {
+ public WikittyQueryResult<String> findAllByQuery(WikittyQuery query) {
long start = TimeLog.getTime();
WikittyQueryResult<String> result = null;
- if (criteria != null) {
+ if (query != null) {
result = findAllByQuery(
- Collections.singletonList(criteria)).get(0);
+ Collections.singletonList(query)).get(0);
}
- timeLog.log(start, "findAllByCriteria(One)");
+ timeLog.log(start, "findAllByQuery(One)");
return result;
}
@@ -833,38 +833,38 @@
//
///////////////////////////////////////////////////////////////////////////
- public List<String> findByQuery(List<WikittyQuery> criteria) {
+ public List<String> findByQuery(List<WikittyQuery> query) {
long start = TimeLog.getTime();
List<String> result = null;
- if (criteria != null) {
- result = wikittyService.findByQuery(securityToken, criteria);
+ if (query != null) {
+ result = wikittyService.findByQuery(securityToken, query);
}
- timeLog.log(start, "findByCriteria(List)");
+ timeLog.log(start, "findByQuery(List)");
return result;
}
- public String findByQuery(WikittyQuery criteria) {
+ public String findByQuery(WikittyQuery query) {
long start = TimeLog.getTime();
String result = null;
- if (criteria != null) {
- result = findByQuery(Collections.singletonList(criteria)).get(0);
+ if (query != null) {
+ result = findByQuery(Collections.singletonList(query)).get(0);
}
- timeLog.log(start, "findByCriteria(One)");
+ timeLog.log(start, "findByQuery(One)");
return result;
}
public String[] findByQuery(
- WikittyQuery c1, WikittyQuery c2, WikittyQuery... otherCriteria) {
+ WikittyQuery q1, WikittyQuery q2, WikittyQuery... otherQueries) {
long start = TimeLog.getTime();
- List<WikittyQuery> criterias = new ArrayList<WikittyQuery>(otherCriteria.length + 2);
- Collections.addAll(criterias, c1, c2);
- Collections.addAll(criterias, otherCriteria);
+ List<WikittyQuery> queries = new ArrayList<WikittyQuery>(otherQueries.length + 2);
+ Collections.addAll(queries, q1, q2);
+ Collections.addAll(queries, otherQueries);
- List<String> resultList = findByQuery(criterias);
- String[] result = resultList.toArray(new String[criterias.size()]);
+ List<String> resultList = findByQuery(queries);
+ String[] result = resultList.toArray(new String[queries.size()]);
- timeLog.log(start, "findByCriteria(Varargs)");
+ timeLog.log(start, "findByQuery(Varargs)");
return result;
}
1
0
r1341 - in trunk: wikitty-api/src/main/java/org/nuiton/wikitty/addons wikitty-api/src/test/java/org/nuiton/wikitty wikitty-api/src/test/java/org/nuiton/wikitty/api wikitty-api/src/test/java/org/nuiton/wikitty/test wikitty-api/src/test/xmi wikitty-generators/src/main/java/org/nuiton/wikitty/generator
by echatellier@users.nuiton.org 19 Jan '12
by echatellier@users.nuiton.org 19 Jan '12
19 Jan '12
Author: echatellier
Date: 2012-01-19 17:10:34 +0100 (Thu, 19 Jan 2012)
New Revision: 1341
Url: http://nuiton.org/repositories/revision/wikitty/1341
Log:
Update tests
Added:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CatalogNodeImpl.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/ProductImpl.java
Removed:
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/PegasusImpl.java
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java
trunk/wikitty-api/src/test/xmi/multiinheritance.zargo
trunk/wikitty-api/src/test/xmi/wikittytest.zargo
trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java 2012-01-19 16:09:43 UTC (rev 1340)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/addons/WikittyImportExportService.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -233,6 +233,7 @@
String jobId = UUID.randomUUID().toString();
File file = new File(exportDirectory, jobId);
+ file.getParentFile().mkdirs();
String url = exportPublicURL + jobId;
Writer result = new FileWriter(file);
ExportQueryTask task = new ExportQueryTask(client, format, query, result);
@@ -286,6 +287,7 @@
String jobId = UUID.randomUUID().toString();
File file = new File(exportDirectory, jobId);
+ file.getParentFile().mkdirs();
String url = exportPublicURL + jobId;
Writer result = new FileWriter(file);
ExportTask task = new ExportTask(client.getSecurityToken(),
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-19 16:09:43 UTC (rev 1340)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/WikittyClientTest.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -25,23 +25,30 @@
package org.nuiton.wikitty;
-import java.util.ArrayList;
-import java.util.List;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.util.Locale;
-import junit.framework.Assert;
-
+import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.nuiton.util.ApplicationConfig;
+import org.nuiton.wikitty.addons.WikittyImportExportService;
+import org.nuiton.wikitty.addons.WikittyImportExportService.FORMAT;
+import org.nuiton.wikitty.entities.Element;
import org.nuiton.wikitty.entities.WikittyTreeNode;
-import org.nuiton.wikitty.entities.WikittyTreeNodeImpl;
import org.nuiton.wikitty.query.WikittyQuery;
import org.nuiton.wikitty.query.WikittyQueryMaker;
import org.nuiton.wikitty.query.WikittyQueryParser;
+import org.nuiton.wikitty.query.WikittyQueryResult;
import org.nuiton.wikitty.services.WikittyServiceInMemory;
-import org.nuiton.wikitty.test.Pegasus;
-import org.nuiton.wikitty.test.PegasusImpl;
+import org.nuiton.wikitty.test.CatalogNode;
+import org.nuiton.wikitty.test.CatalogNodeImpl;
+import org.nuiton.wikitty.test.Category;
+import org.nuiton.wikitty.test.CategoryImpl;
+import org.nuiton.wikitty.test.Product;
+import org.nuiton.wikitty.test.ProductImpl;
/**
* Wikitty client test to test for client use.
@@ -61,6 +68,8 @@
protected WikittyClient wikittyClient;
+ protected static DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.ENGLISH);
+
/**
* Init {@link ApplicationConfig} class.
*/
@@ -85,9 +94,10 @@
/**
* Clear all data and add some test data for all tests.
+ * @throws ParseException
*/
@Before
- public void setUpTestData() {
+ public void setUpTestData() throws ParseException {
wikittyClient = getWikittyClient();
wikittyClient.clear();
addTestDataInClient(wikittyClient);
@@ -96,26 +106,71 @@
/**
* Add some wikitty in client.
*
+ * In test case, product are books.
+ *
* @param wikittyClient wikitty client
+ * @throws ParseException
*/
- protected void addTestDataInClient(WikittyClient wikittyClient) {
- // some tree nodes
- WikittyTreeNode rootNode = new WikittyTreeNodeImpl();
- rootNode.setName("rootnode");
- WikittyTreeNode subNode = new WikittyTreeNodeImpl();
- subNode.setName("subnode");
+ protected void addTestDataInClient(WikittyClient wikittyClient) throws ParseException {
- List<WikittyTreeNode> allNodes = new ArrayList<WikittyTreeNode>();
- allNodes.add(rootNode);
- allNodes.add(subNode);
- wikittyClient.store(allNodes);
+ // Categories
+ Category sf = new CategoryImpl("science fiction");
+ Category society = new CategoryImpl("société");
+ Category fantastic = new CategoryImpl("fantastique");
+ Category fantaisie = new CategoryImpl("heroique/fantaisie");
+ wikittyClient.store(sf, society, fantastic, fantaisie);
- // Pegasus (multiple inheritance)
- Pegasus pegasus = new PegasusImpl();
- pegasus.setFly(2);
- pegasus.setColor("black");
- pegasus.setColorFromBird("white");
- wikittyClient.store(pegasus);
+ // Product (multiple inheritance)
+ Product book42 = new ProductImpl("Answer to life the universe and everything");
+ book42.setPrice(4200);
+ book42.setPicturePrice(420);
+ book42.setPriceFromProduct(42);
+ book42.addColors("white", "black");
+ book42.setDate(df.parse("December 25, 1983"));
+ book42.setCategory(sf.getWikittyId());
+
+ Product bookIndignez = new ProductImpl("Indignez-vous !");
+ bookIndignez.setPrice(1);
+ bookIndignez.setPicturePrice(2);
+ bookIndignez.setPriceFromProduct(15);
+ bookIndignez.setCategory(sf.getWikittyId());
+ bookIndignez.addColors("white");
+ bookIndignez.setDate(df.parse("April 12, 2011"));
+ bookIndignez.setCategory(society.getWikittyId());
+
+ Product bookLotr = new ProductImpl("Le seigneur des anneaux");
+ bookLotr.setPrice(11);
+ bookLotr.setPicturePrice(12);
+ bookLotr.setPriceFromProduct(100);
+ bookLotr.setCategory(sf.getWikittyId());
+ bookLotr.setDate(df.parse("July 9, 1953"));
+ bookLotr.addColors("red", "blue");
+
+ Product bookLan = new ProductImpl("Lanfeust");
+ bookLan.setPrice(0);
+ bookLan.setPicturePrice(5);
+ bookLan.setPriceFromProduct(14);
+ bookLan.setCategory(fantastic.getWikittyId());
+ bookLan.addColors("red", "yellow");
+ bookLan.setDate(df.parse("January 12, 2002"));
+ wikittyClient.store(book42, bookIndignez, bookLotr, bookLan);
+
+ // some tree nodes
+ CatalogNode rootNode = new CatalogNodeImpl("rootnode");
+ CatalogNode livreNode = new CatalogNodeImpl("Livres");
+ livreNode.setParent(rootNode.getWikittyId());
+ CatalogNode bdNode = new CatalogNodeImpl("Bande dessinées");
+ bdNode.setParent(livreNode.getWikittyId());
+ bdNode.addAttachment(bookLan.getWikittyId());
+ CatalogNode newsNode = new CatalogNodeImpl("Nouvelles");
+ newsNode.setParent(livreNode.getWikittyId());
+ newsNode.addAttachment(bookIndignez.getWikittyId());
+ CatalogNode romanNode = new CatalogNodeImpl("Roman");
+ romanNode.setParent(livreNode.getWikittyId());
+ romanNode.addAttachment(book42.getWikittyId(), bookLotr.getWikittyId());
+ CatalogNode otherNode = new CatalogNodeImpl("Everything else");
+ otherNode.setParent(rootNode.getWikittyId());
+ wikittyClient.store(rootNode, livreNode, bdNode, newsNode, romanNode, otherNode);
}
/**
@@ -124,22 +179,72 @@
@Test
public void testFindByQueryMaker() {
WikittyQuery query = new WikittyQueryMaker().and()
- .eq(Pegasus.ELEMENT_FIELD_HORSE_COLOR, "black")
- .eq(Pegasus.ELEMENT_FIELD_BIRD_COLOR, "white")
+ .like(Product.ELEMENT_FIELD_PRODUCT_NAME, "*universe*")
.end();
- Pegasus pegasus = wikittyClient.findByQuery(Pegasus.class, query);
- Assert.assertEquals("[Pegasus]black/white", pegasus.getReference());
+ Product product = wikittyClient.findByQuery(Product.class, query);
+ Assert.assertEquals(4662, product.totalPrice());
}
/**
+ * Test a query with query maker without result.
+ */
+ @Test
+ public void testFindByQueryMakerNoneFound() {
+ WikittyQuery query = new WikittyQueryMaker().and()
+ .like(Element.ALL_FIELD, "toto")
+ .end();
+
+ Product product = wikittyClient.findByQuery(Product.class, query);
+ Assert.assertNull(product);
+ }
+
+ /**
+ * Test a query with query maker multiple.
+ */
+ @Test
+ public void testFindByQueryMakerMuliple() {
+ WikittyQuery query = new WikittyQueryMaker().and()
+ .like(Element.ALL_FIELD, "*everything*")
+ .end();
+ query.setLimit(0); // just count
+
+ WikittyQueryResult results = wikittyClient.findAllByQuery(query);
+ Assert.assertEquals(2, results.getTotalResult());
+ Assert.assertTrue(results.getAll().isEmpty());
+ }
+
+ /**
* Test a query with query parser.
*/
@Test
public void testFindQueryParser() {
WikittyQuery query = WikittyQueryParser.parse(
- "Horse.color=black Bird.color=white");
- Pegasus pegasus = wikittyClient.findByQuery(Pegasus.class, query);
- Assert.assertEquals(2, pegasus.getFly());
+ "ProductPicture.price=420");
+ Product product = wikittyClient.findByQuery(Product.class, query);
+ Assert.assertEquals(420, product.getPicturePrice());
}
+
+ /**
+ * Test a query with query parser multiples.
+ */
+ @Test
+ public void testFindQueryParserMuliple() {
+ WikittyQuery query = WikittyQueryParser.parse(
+ "Product.price=[0 TO 99] Product.colors!=red");
+ WikittyQueryResult<String> product = wikittyClient.findAllByQuery(query);
+ Assert.assertEquals(2, product.getTotalResult());
+ }
+
+ /**
+ * Test le resultat attendu d'un export XML.
+ */
+ @Test
+ public void testExport() {
+ WikittyImportExportService ieService = new WikittyImportExportService(wikittyClient);
+ WikittyQuery query = new WikittyQueryMaker().eq(Element.EXTENSION, WikittyTreeNode.EXT_WIKITTYTREENODE).end();
+ String xmlExport = ieService.syncExportAllByQuery(FORMAT.XML, query);
+ System.out.println(xmlExport);
+
+ }
}
Modified: 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-19 16:09:43 UTC (rev 1340)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/api/AbstractSearchTest.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -29,16 +29,17 @@
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.CategoryEntity;
-import org.nuiton.wikitty.test.CategoryEntityImpl;
+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.ProductEntity;
-import org.nuiton.wikitty.test.ProductEntityImpl;
+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;
@@ -83,7 +84,7 @@
// CREATE EXTENSIONS NEEDED FOR TESTS //
///////////////////////////////////////////////////////////////////////
- //Create product extension
+ /*//Create product extension
WikittyExtension product = ExtensionFactory.create(EXT_PRODUCT, VERSION)
.addField(PRODUCT_PRICE, WikittyTypes.NUMERIC)
.addField(PRODUCT_NAME, WikittyTypes.STRING)
@@ -96,14 +97,14 @@
WikittyExtension category = ExtensionFactory.create(EXT_CATEGORY, VERSION)
.addField(CATEGORY_NAME, WikittyTypes.STRING)
.extension();
- proxy.storeExtension(category);
+ proxy.storeExtension(category);*/
///////////////////////////////////////////////////////////////////////
// CREATE CATEGORIES //
///////////////////////////////////////////////////////////////////////
//Create wikitty category named "Hardware"
- Wikitty category1 = new WikittyImpl();
+ /*Wikitty category1 = new WikittyImpl();
category1.addExtension(category);
category1.setField(EXT_CATEGORY, CATEGORY_NAME, "HardWare");
proxy.store(category1);
@@ -123,81 +124,81 @@
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());
+ 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);
+ /*product1.setField(EXT_PRODUCT, PRODUCT_COLOR, colors1);
+ proxy.store(product1);*/
//Create product named Screwdriver, price is 3, category is category2
- Wikitty product2 = new WikittyImpl();
+ /*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());
+ 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);
+ /*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();
+ /*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());
+ 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);
+ /*product3.setField(EXT_PRODUCT, PRODUCT_COLOR, colors3);
+ proxy.store(product3);*/
- W_ID = product3.getId();
+ /*W_ID = product3.getId();*/
///////////////////////////////////////////////////////////////////////
// CREATE CATEGORIES ENTITIES //
///////////////////////////////////////////////////////////////////////
//Create wikitty category named "Hardware"
- CategoryEntity categoryEntity1 = new CategoryEntityImpl();
- categoryEntity1.setName("HardWare");
- proxy.store(categoryEntity1);
+ Category Category1 = new CategoryImpl();
+ Category1.setName("HardWare");
+ proxy.store(Category1);
//Create wikitty category named "Wrong category"
- CategoryEntity categoryEntity2 = new CategoryEntityImpl();
- categoryEntity2.setName("Wrong category");
- proxy.store(categoryEntity2);
+ Category Category2 = new CategoryImpl();
+ Category2.setName("Wrong category");
+ proxy.store(Category2);
///////////////////////////////////////////////////////////////////////
// CREATE PRODUCTS ENTITIES //
///////////////////////////////////////////////////////////////////////
//Create product named Paint, price is 20 category is category1
- ProductEntity productEntity1 = new ProductEntityImpl();
- productEntity1.setName("Paint");
- productEntity1.setPrice(20);
- productEntity1.setCategoryEntity(categoryEntity1.getWikittyId());
- productEntity1.setColors(colors1);
- proxy.store(productEntity1);
+ 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
- ProductEntity productEntity2 = new ProductEntityImpl();
- productEntity2.setName("Screwdriver");
- productEntity2.setPrice(3);
- productEntity2.setCategoryEntity(categoryEntity2.getWikittyId());
- productEntity2.setColors(colors2);
- proxy.store(productEntity2);
+ 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
- ProductEntity productEntity3 = new ProductEntityImpl();
- productEntity3.setName("Paint Blue");
- productEntity3.setPrice(22);
- productEntity3.setCategoryEntity(categoryEntity2.getWikittyId());
- productEntity3.setColors(colors3);
- proxy.store(productEntity3);
+ Product Product3 = new ProductImpl();
+ Product3.setName("Paint Blue");
+ Product3.setPriceFromProduct(22);
+ Product3.setCategory(Category2.getWikittyId());
+ Product3.setColors(colors3);
+ proxy.store(Product3);
- W_ENTITY_ID = productEntity3.getWikittyId();
+ W_ENTITY_ID = Product3.getWikittyId();
}
@@ -264,47 +265,47 @@
@Test
public void testEntitiesEq() throws Exception {
- Search query = Search.query().eq(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "3");
+ Search query = Search.query().eq(Product.FQ_FIELD_PRODUCT_PRICE, "3");
Criteria eqCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, eqCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, eqCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
//Test using pattern matching
- Search query2 = Search.query().eq(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "*dri*");
+ Search query2 = Search.query().eq(Product.FQ_FIELD_PRODUCT_NAME, "*dri*");
Criteria eqCriteria2 = query2.criteria();
- PagedResult<ProductEntity> results2 = proxy.findAllByCriteria(ProductEntity.class, eqCriteria2);
+ PagedResult<Product> results2 = proxy.findAllByCriteria(Product.class, eqCriteria2);
assertPagedResultSizeEquals(1, results2);
- ProductEntity resultW2 = results.getFirst();
+ Product resultW2 = results.getFirst();
Assert.assertEquals("Screwdriver", resultW2.getName());
- Assert.assertEquals(3, resultW2.getPrice());
+ Assert.assertEquals(3, resultW2.getPriceFromProduct());
//Test using pattern matching
- Search query3 = Search.query().eq(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "*dri?er");
+ Search query3 = Search.query().eq(Product.FQ_FIELD_PRODUCT_NAME, "*dri?er");
Criteria eqCriteria3 = query3.criteria();
- PagedResult<ProductEntity> results3 = proxy.findAllByCriteria(ProductEntity.class, eqCriteria3);
+ PagedResult<Product> results3 = proxy.findAllByCriteria(Product.class, eqCriteria3);
assertPagedResultSizeEquals(1, results3);
- ProductEntity resultW3 = results.getFirst();
+ Product resultW3 = results.getFirst();
Assert.assertEquals("Screwdriver", resultW3.getName());
- Assert.assertEquals(3, resultW3.getPrice());
+ Assert.assertEquals(3, resultW3.getPriceFromProduct());
}
@Test
@@ -321,11 +322,11 @@
@Test
public void testEntitiesNeq() throws Exception {
- Search query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY).neq(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "3");
+ Search query = Search.query().exteq(Product.EXT_PRODUCT).neq(Product.FQ_FIELD_PRODUCT_PRICE, "3");
Criteria neqCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, neqCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, neqCriteria);
assertPagedResultSizeEquals(2, results);
@@ -353,18 +354,18 @@
@Test
public void testEntitiesBw() throws Exception {
- Search query = Search.query().bw(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "3", "5");
+ Search query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "3", "5");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
}
@Test
@@ -390,18 +391,18 @@
@Test
public void testEntitiesLt() throws Exception {
- Search query = Search.query().lt(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "20");
+ Search query = Search.query().lt(Product.FQ_FIELD_PRODUCT_PRICE, "20");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
}
@@ -420,11 +421,11 @@
@Test
public void testEntitiesLe() throws Exception {
- Search query = Search.query().le(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "20");
+ Search query = Search.query().le(Product.FQ_FIELD_PRODUCT_PRICE, "20");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(2, results);
}
@@ -452,18 +453,18 @@
@Test
public void testEntitiesGt() throws Exception {
- Search query = Search.query().gt(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "20");
+ Search query = Search.query().gt(Product.FQ_FIELD_PRODUCT_PRICE, "20");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Paint Blue", resultW.getName());
- Assert.assertEquals(22, resultW.getPrice());
+ Assert.assertEquals(22, resultW.getPriceFromProduct());
}
@@ -483,11 +484,11 @@
@Test
public void testEntitiesGe() throws Exception {
- Search query = Search.query().ge(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "20");
+ Search query = Search.query().ge(Product.FQ_FIELD_PRODUCT_PRICE, "20");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(2, results);
@@ -518,18 +519,18 @@
@Test
public void testEntitiesContains() throws Exception {
- Search query = Search.query().contains(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "3");
+ Search query = Search.query().contains(Product.FQ_FIELD_PRODUCT_PRICE, "3");
Criteria inCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, inCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, inCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
//TODO JC-07-04-2011 do a test with multi-valued field
@@ -557,18 +558,18 @@
@Test
public void testEntitiesIn() throws Exception {
- Search query = Search.query().in(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "1", "2", "3", "4", "5");
+ Search query = Search.query().in(Product.FQ_FIELD_PRODUCT_PRICE, "1", "2", "3", "4", "5");
Criteria inCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, inCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, inCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
}
@Test
@@ -584,11 +585,11 @@
@Test
public void testEntitiesExteq() throws Exception {
- Search query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY);
+ Search query = Search.query().exteq(Product.EXT_PRODUCT);
Criteria exteqCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, exteqCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, exteqCriteria);
assertPagedResultSizeEquals(3, results);
}
@@ -630,14 +631,14 @@
Criteria ideqCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, ideqCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, ideqCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Paint Blue", resultW.getName());
- Assert.assertEquals(22, resultW.getPrice());
+ Assert.assertEquals(22, resultW.getPriceFromProduct());
}
@@ -660,7 +661,7 @@
Criteria idneqCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, idneqCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, idneqCriteria);
assertPagedResultSizeEquals(2, results);
}
@@ -686,11 +687,11 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
- Search query = Search.query().unlike(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "*dri*");
+ Search query = Search.query().unlike(Product.FQ_FIELD_PRODUCT_NAME, "*dri*");
Criteria likeCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, likeCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, likeCriteria);
assertPagedResultSizeEquals(2, results);
}
@@ -716,11 +717,11 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
- Search query = Search.query().like(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "*dri*");
+ Search query = Search.query().like(Product.FQ_FIELD_PRODUCT_NAME, "*dri*");
Criteria likeCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, likeCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, likeCriteria);
assertPagedResultSizeEquals(1, results);
}
@@ -746,18 +747,18 @@
@Test
public void testEntitiesSw() throws Exception {
- Search query = Search.query().sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Scre");
+ Search query = Search.query().sw(Product.FQ_FIELD_PRODUCT_NAME, "Scre");
Criteria swCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, swCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, swCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
}
@@ -776,11 +777,11 @@
@Test
public void testEntitiesNsw() throws Exception {
- Search query = Search.query().nsw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Scre");
+ Search query = Search.query().nsw(Product.FQ_FIELD_PRODUCT_NAME, "Scre");
Criteria nswCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, nswCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, nswCriteria);
assertPagedResultSizeEquals(2, results);
}
@@ -808,18 +809,18 @@
@Test
public void testEntitiesEw() throws Exception {
- Search query = Search.query().ew(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "ver");
+ Search query = Search.query().ew(Product.FQ_FIELD_PRODUCT_NAME, "ver");
Criteria ewCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, ewCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, ewCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Screwdriver", resultW.getName());
- Assert.assertEquals(3, resultW.getPrice());
+ Assert.assertEquals(3, resultW.getPriceFromProduct());
}
@@ -839,11 +840,11 @@
@Test
public void testEntitiesNotew() throws Exception {
- Search query = Search.query().notew(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "ver");
+ Search query = Search.query().notew(Product.FQ_FIELD_PRODUCT_NAME, "ver");
Criteria notewCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, notewCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, notewCriteria);
assertPagedResultSizeEquals(2, results);
@@ -865,11 +866,11 @@
@Test
public void testEntitiesKeyword() throws Exception {
- Search query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY).keyword("Paint");
+ Search query = Search.query().exteq(Product.EXT_PRODUCT).keyword("Paint");
Criteria keywordCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, keywordCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, keywordCriteria);
assertPagedResultSizeEquals(2, results);
@@ -891,11 +892,11 @@
@Test
public void testEntitiesIsNull() throws Exception {
- Search query = Search.query().isNull(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME);
+ Search query = Search.query().isNull(Product.FQ_FIELD_PRODUCT_NAME);
Criteria isNull = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, isNull);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, isNull);
assertPagedResultSizeEquals(0, results);
@@ -917,11 +918,11 @@
@Test
public void testEntitiesIsNotNull() throws Exception {
- Search query = Search.query().isNotNull(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME);
+ Search query = Search.query().isNotNull(Product.FQ_FIELD_PRODUCT_NAME);
Criteria isNotNull = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, isNotNull);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, isNotNull);
assertPagedResultSizeEquals(3, results);
@@ -947,7 +948,7 @@
Criteria rFalse = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, rFalse);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, rFalse);
assertPagedResultSizeEquals(0, results);
@@ -969,11 +970,11 @@
@Test
public void testEntitiesTrue() throws Exception {
- Search query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY).rTrue();
+ Search query = Search.query().exteq(Product.EXT_PRODUCT).rTrue();
Criteria rTrue = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, rTrue);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, rTrue);
assertPagedResultSizeEquals(3, results);
@@ -996,12 +997,12 @@
@Test
public void testEntitiesAnd() throws Exception {
- Search query = Search.query().and().bw(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "15", "25")
- .sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Paint");
+ Search query = Search.query().and().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25")
+ .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint");
Criteria andCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, andCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, andCriteria);
assertPagedResultSizeEquals(2, results);
@@ -1027,11 +1028,11 @@
Search query = Search.query();
- query.or().gt(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "20").sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Screw");
+ query.or().gt(Product.FQ_FIELD_PRODUCT_PRICE, "20").sw(Product.FQ_FIELD_PRODUCT_NAME, "Screw");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(2, results);
@@ -1056,11 +1057,11 @@
Search query = Search.query();
- query.exteq(ProductEntity.EXT_PRODUCTENTITY).not().ge(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "20");
+ query.exteq(Product.EXT_PRODUCT).not().ge(Product.FQ_FIELD_PRODUCT_PRICE, "20");
Criteria bwCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, bwCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, bwCriteria);
assertPagedResultSizeEquals(1, results);
}
@@ -1110,29 +1111,29 @@
* and with an associated category which name is 'Hardware'
*/
- Search query = Search.query().bw(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "15", "25")
- .sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Paint").associated(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY)
- .eq(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "HardWare");
+ Search query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25")
+ .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint").associated(Product.FQ_FIELD_PRODUCT_CATEGORY)
+ .eq(Category.FQ_FIELD_CATEGORY_NAME, "HardWare");
Criteria associatedCriteria = query.criteria();
- PagedResult<ProductEntity> results = proxy.findAllByCriteria(ProductEntity.class, associatedCriteria);
+ PagedResult<Product> results = proxy.findAllByCriteria(Product.class, associatedCriteria);
assertPagedResultSizeEquals(1, results);
- ProductEntity resultW = results.getFirst();
+ Product resultW = results.getFirst();
Assert.assertEquals("Paint", resultW.getName());
- Assert.assertEquals(20, resultW.getPrice());
+ Assert.assertEquals(20, resultW.getPriceFromProduct());
//Test with an associated search that returns nothing
- query = Search.query().bw(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "15", "25")
- .sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Paint").associated(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY)
- .eq(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "don't return anything");
+ query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25")
+ .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint").associated(Product.FQ_FIELD_PRODUCT_CATEGORY)
+ .eq(Category.FQ_FIELD_CATEGORY_NAME, "don't return anything");
associatedCriteria = query.criteria();
- results = proxy.findAllByCriteria(ProductEntity.class, associatedCriteria);
+ results = proxy.findAllByCriteria(Product.class, associatedCriteria);
assertPagedResultSizeEquals(0, results);
}
@@ -1180,23 +1181,23 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
{
- Criteria criteria = Search.query().eq(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "HardWare").criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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("*.name", "HardWare").criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
- Criteria criteria = Search.query().eq(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ Criteria criteria = Search.query().eq(Category.FQ_FIELD_CATEGORY_NAME + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria();
+ PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
Criteria criteria = Search.query().eq("*.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "HardWare").criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ PagedResult<Category> pagedResult = proxy.findAllByCriteria(Category.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
}
@@ -1244,23 +1245,23 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
{
- Criteria criteria = Search.query().contains(ProductEntity.FQ_FIELD_PRODUCTENTITY_COLORS, "Red").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ Criteria criteria = Search.query().contains(Product.FQ_FIELD_PRODUCT_COLORS, "Red").criteria();
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
Criteria criteria = Search.query().contains("*.colors", "Red").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
- Criteria criteria = Search.query().contains(ProductEntity.FQ_FIELD_PRODUCTENTITY_COLORS + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ Criteria criteria = Search.query().contains(Product.FQ_FIELD_PRODUCT_COLORS + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria();
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
Criteria criteria = Search.query().contains("*.colors" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "Red").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
}
@@ -1308,23 +1309,23 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
{
- Criteria criteria = Search.query().like(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "*Blue").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ Criteria criteria = Search.query().like(Product.FQ_FIELD_PRODUCT_NAME, "*Blue").criteria();
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
Criteria criteria = Search.query().like("*.name", "*Blue").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
- Criteria criteria = Search.query().like(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ Criteria criteria = Search.query().like(Product.FQ_FIELD_PRODUCT_NAME + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria();
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
{
Criteria criteria = Search.query().like("*.name" + WikittyUtil.FQ_FIELD_NAME_SEPARATOR + WikittyTypes.STRING, "*Blue").criteria();
- PagedResult<ProductEntity> pagedResult = proxy.findAllByCriteria(ProductEntity.class, criteria);
+ PagedResult<Product> pagedResult = proxy.findAllByCriteria(Product.class, criteria);
assertPagedResultSizeEquals(1, pagedResult);
}
}
@@ -1370,33 +1371,33 @@
// FIXME implement it in memory
assumeNotYetImplementedInMemory();
{
- Criteria criteria = Search.query().eq(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "HardWare").criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "hardware").criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "HardWare", Like.SearchAs.ToLowerCase).criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "hardware", Like.SearchAs.ToLowerCase).criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "HardWare", Like.SearchAs.AsText).criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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(CategoryEntity.FQ_FIELD_CATEGORYENTITY_NAME, "hardware", Like.SearchAs.AsText).criteria();
- PagedResult<CategoryEntity> pagedResult = proxy.findAllByCriteria(CategoryEntity.class, criteria);
+ 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);
}
}
@@ -1480,21 +1481,21 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
- Search query = Search.query().bw(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "15", "25")
- .sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Paint");
+ 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(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY);
+ selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
- PagedResult<CategoryEntity> results = proxy.findAllByCriteria(CategoryEntity.class, selectCriteria);
+ PagedResult<Category> results = proxy.findAllByCriteria(Category.class, selectCriteria);
assertPagedResultSizeEquals(2, results);
//Test with an associated search that returns nothing
- query = Search.query().bw(ProductEntity.FQ_FIELD_PRODUCTENTITY_PRICE, "15", "25")
- .sw(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME, "Paint");
+ query = Search.query().bw(Product.FQ_FIELD_PRODUCT_PRICE, "15", "25")
+ .sw(Product.FQ_FIELD_PRODUCT_NAME, "Paint");
selectCriteria = query.criteria();
- selectCriteria.setSelect(ProductEntity.FQ_FIELD_PRODUCTENTITY_NAME);
+ selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_NAME);
- results = proxy.findAllByCriteria(CategoryEntity.class, selectCriteria);
+ results = proxy.findAllByCriteria(Category.class, selectCriteria);
assertPagedResultSizeEquals(0, results);
}
@@ -1550,41 +1551,41 @@
// FIXME sletellier 20110504 : Not yet implemented inMemorySearchTest, assuming
assumeNotYetImplementedInMemory();
- Search query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY);
+ Search query = Search.query().exteq(Product.EXT_PRODUCT);
Criteria selectCriteria = query.criteria();
- selectCriteria.setSelect(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY);
+ selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
selectCriteria.setFirstIndex(1);
selectCriteria.setEndIndex(1);
- PagedResult<CategoryEntity> results = proxy.findAllByCriteria(CategoryEntity.class, selectCriteria);
+ PagedResult<Category> results = proxy.findAllByCriteria(Category.class, selectCriteria);
assertPaginedPagedResultSizeEquals(1, 2, results);
- query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY);
+ query = Search.query().exteq(Product.EXT_PRODUCT);
selectCriteria = query.criteria();
- selectCriteria.setSelect(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY);
+ selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
selectCriteria.setFirstIndex(0);
// No limit
selectCriteria.setEndIndex(-1);
- results = proxy.findAllByCriteria(CategoryEntity.class, selectCriteria);
+ results = proxy.findAllByCriteria(Category.class, selectCriteria);
assertPaginedPagedResultSizeEquals(2, 2, results);
- query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY);
+ query = Search.query().exteq(Product.EXT_PRODUCT);
selectCriteria = query.criteria();
- selectCriteria.setSelect(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY);
+ selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
selectCriteria.setFirstIndex(0);
selectCriteria.setEndIndex(0);
- results = proxy.findAllByCriteria(CategoryEntity.class, selectCriteria);
+ results = proxy.findAllByCriteria(Category.class, selectCriteria);
assertPaginedPagedResultSizeEquals(1, 2, results);
- query = Search.query().exteq(ProductEntity.EXT_PRODUCTENTITY);
+ query = Search.query().exteq(Product.EXT_PRODUCT);
selectCriteria = query.criteria();
- selectCriteria.setSelect(ProductEntity.FQ_FIELD_PRODUCTENTITY_CATEGORYENTITY);
+ selectCriteria.setSelect(Product.FQ_FIELD_PRODUCT_CATEGORY);
selectCriteria.setFirstIndex(0);
selectCriteria.setEndIndex(1);
- results = proxy.findAllByCriteria(CategoryEntity.class, selectCriteria);
+ results = proxy.findAllByCriteria(Category.class, selectCriteria);
assertPaginedPagedResultSizeEquals(2, 2, results);
}
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CatalogNodeImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CatalogNodeImpl.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CatalogNodeImpl.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -0,0 +1,61 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 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.test;
+
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
+import org.nuiton.wikitty.entities.Wikitty;
+
+/**
+ * Catalog node implementation.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class CatalogNodeImpl extends CatalogNodeAbstract {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -6885467605011821870L;
+
+ public CatalogNodeImpl() {
+
+ }
+
+ public CatalogNodeImpl(String name) {
+ this();
+ setName(name);
+ }
+
+ public CatalogNodeImpl(Wikitty wikitty) {
+ super(wikitty);
+ }
+
+ public CatalogNodeImpl(BusinessEntityImpl businessEntityImpl) {
+ super(businessEntityImpl.getWikitty());
+ }
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CatalogNodeImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -0,0 +1,36 @@
+package org.nuiton.wikitty.test;
+
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
+import org.nuiton.wikitty.entities.Wikitty;
+
+/**
+ * Category entity implementation.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class CategoryImpl extends CategoryAbstract {
+
+ private static final long serialVersionUID = 7003155914532532322L;
+
+ public CategoryImpl() {
+
+ }
+
+ public CategoryImpl(String name) {
+ this();
+ setName(name);
+ }
+
+ public CategoryImpl(Wikitty wikitty) {
+ super(wikitty);
+ }
+
+ public CategoryImpl(BusinessEntityImpl businessEntityImpl) {
+ super(businessEntityImpl.getWikitty());
+ }
+
+} //CategoryEntityImpl
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/CategoryImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Deleted: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/PegasusImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/PegasusImpl.java 2012-01-19 16:09:43 UTC (rev 1340)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/PegasusImpl.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -1,61 +0,0 @@
-/*
- * #%L
- *
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 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.test;
-
-import org.nuiton.wikitty.entities.BusinessEntityImpl;
-import org.nuiton.wikitty.entities.Wikitty;
-
-/**
- * TODO add comment here.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class PegasusImpl extends PegasusAbstract {
-
- public PegasusImpl() {
- super();
- }
-
- public PegasusImpl(Wikitty wikitty) {
- super(wikitty);
- }
-
- public PegasusImpl(BusinessEntityImpl businessEntityImpl) {
- super(businessEntityImpl.getWikitty());
- }
-
- /*
- * @see org.nuiton.wikitty.test.Pegasus#getReference()
- */
- @Override
- public String getReference() {
- return "[Pegasus]" + getColor() + "/" + getColorFromBird();
- }
-}
Added: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/ProductImpl.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/ProductImpl.java (rev 0)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/ProductImpl.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -0,0 +1,83 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 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.test;
+
+import org.nuiton.wikitty.entities.BusinessEntityImpl;
+import org.nuiton.wikitty.entities.Wikitty;
+
+/**
+ * Product entity implementation.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class ProductImpl extends ProductAbstract {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3876446488053147070L;
+
+ /**
+ * Empty constructor.
+ */
+ public ProductImpl() {
+
+ }
+
+ /**
+ * Constructor with name.
+ *
+ * @param name name
+ */
+ public ProductImpl(String name) {
+ this();
+ setName(name);
+ }
+
+ /**
+ * @param businessEntityImpl
+ */
+ public ProductImpl(BusinessEntityImpl businessEntityImpl) {
+ super(businessEntityImpl);
+ }
+
+ /**
+ * @param wikitty
+ */
+ public ProductImpl(Wikitty wikitty) {
+ super(wikitty);
+ }
+
+ /*
+ * @see org.nuiton.wikitty.test.ProductEntity#totalPrice()
+ */
+ @Override
+ public int totalPrice() {
+ return getPrice() + getPicturePrice() + getPriceFromProduct();
+ }
+}
Property changes on: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/test/ProductImpl.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/wikitty-api/src/test/xmi/multiinheritance.zargo
===================================================================
(Binary files differ)
Modified: trunk/wikitty-api/src/test/xmi/wikittytest.zargo
===================================================================
(Binary files differ)
Modified: trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java
===================================================================
--- trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2012-01-19 16:09:43 UTC (rev 1340)
+++ trunk/wikitty-generators/src/main/java/org/nuiton/wikitty/generator/WikittyAbstractGenerator.java 2012-01-19 16:10:34 UTC (rev 1341)
@@ -44,7 +44,6 @@
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
-import java.util.Random;
import java.util.Set;
/*{generator option: writeString = }*/
@@ -328,7 +327,15 @@
attributeName = attribute.getName();
}
- addOperationWithName(businessEntity, abstractClass, attribute, attributeName, helperClassName, attributeName);
+ // le nom du getter peut avoir été renommé pour toute la hierarchie
+ String helperGetterSetterName;
+ if (attribute.hasTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME)) {
+ helperGetterSetterName = attribute.getTagValue(WikittyTransformerUtil.TAG_ALTERNATIVE_NAME);
+ } else {
+ helperGetterSetterName = attribute.getName();
+ }
+
+ addOperationWithName(businessEntity, abstractClass, attribute, attributeName, helperClassName, helperGetterSetterName);
}
}
}
1
0
Author: echatellier
Date: 2012-01-19 17:09:43 +0100 (Thu, 19 Jan 2012)
New Revision: 1340
Url: http://nuiton.org/repositories/revision/wikitty/1340
Log:
Upgrade lucene version
Modified:
trunk/wikitty-solr/src/main/resources/solrconfig.xml
Modified: trunk/wikitty-solr/src/main/resources/solrconfig.xml
===================================================================
--- trunk/wikitty-solr/src/main/resources/solrconfig.xml 2012-01-19 13:44:33 UTC (rev 1339)
+++ trunk/wikitty-solr/src/main/resources/solrconfig.xml 2012-01-19 16:09:43 UTC (rev 1340)
@@ -26,7 +26,7 @@
<config>
- <luceneMatchVersion>LUCENE_33</luceneMatchVersion>
+ <luceneMatchVersion>LUCENE_35</luceneMatchVersion>
<!-- Set this to 'false' if you want solr to continue working after it has
encountered an severe configuration error. In a production environment,
1
0