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
December 2010
- 6 participants
- 128 discussions
r604 - trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr
by sletellier@users.nuiton.org 13 Dec '10
by sletellier@users.nuiton.org 13 Dec '10
13 Dec '10
Author: sletellier
Date: 2010-12-13 13:56:57 +0100 (Mon, 13 Dec 2010)
New Revision: 604
Url: http://nuiton.org/repositories/revision/wikitty/604
Log:
Fix npe
Modified:
trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEngineSolr.java
Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEngineSolr.java
===================================================================
--- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEngineSolr.java 2010-12-13 11:17:57 UTC (rev 603)
+++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEngineSolr.java 2010-12-13 12:56:57 UTC (rev 604)
@@ -339,9 +339,15 @@
doc = SolrUtil.copySolrDocument(found, false, fieldNotToCopyPattern);
solrResource.addDoc(id, doc);
} else {
+
if (log.isWarnEnabled()) {
log.warn("Can't find wikitty id '" + id + "' in index. Skip this wikitty.");
}
+
+ // If not found, use new one
+ doc = new SolrInputDocument();
+
+ // FIXME sletellier 13/12/2010 : we must skip in this case ?
}
}
1
0
r603 - in trunk: wikitty-api/src/main/java/org/nuiton/wikitty wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport wikitty-api/src/test/java/org/nuiton/wikitty/conform wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test
by sletellier@users.nuiton.org 13 Dec '10
by sletellier@users.nuiton.org 13 Dec '10
13 Dec '10
Author: sletellier
Date: 2010-12-13 12:17:57 +0100 (Mon, 13 Dec 2010)
New Revision: 603
Url: http://nuiton.org/repositories/revision/wikitty/603
Log:
- Fix build
- Use generics to getComponents
- Comment unfound method (config.getPrintableConfig)
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java 2010-12-11 03:48:24 UTC (rev 602)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java 2010-12-13 11:17:57 UTC (rev 603)
@@ -24,11 +24,8 @@
*/
package org.nuiton.wikitty;
+import java.util.*;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
@@ -90,14 +87,14 @@
ApplicationConfig config, String prefix) {
WikittyService result = null;
- List<Class> layers = getComponents(config, prefix, WikittyService.class);
+ List<Class<WikittyService>> layers = getComponents(config, prefix, WikittyService.class);
Set comp = new HashSet();
for (Class<WikittyService> clazz : layers) {
comp.clear();
comp.add(result);
comp.add(config);
- List<Class> comps = getComponents(config, prefix, clazz);
+ List<Class<WikittyService>> comps = getComponents(config, prefix, clazz);
if (comps != null) {
comp.addAll(comps);
}
@@ -120,12 +117,15 @@
* @param clazz
* @return la liste de classe trouvee ou null si la cle n'existe pas
*/
- static protected List<Class> getComponents(ApplicationConfig config,
- String prefix, Class clazz) {
+ static protected <E> List<Class<E>> getComponents(ApplicationConfig config,
+ String prefix, Class<E> clazz) {
String key = prefix + clazz.getSimpleName() + ".components";
- List<Class> result = config.getOptionAsList(key).getOptionAsClass();
+ // XXX sletellier 13/12/2010 : this code don't compile, provoke an "inconvertible types",
+ // this hack force compiler to not check cast
+// List<Class<E>> result = (List<Class<E>>) config.getOptionAsList(key).getOptionAsClass();
+ List<Class<E>> result = (List<Class<E>>)(List<?>) config.getOptionAsList(key).getOptionAsClass();
// String componentsString = config.getOption(key);
// if (componentsString != null) {
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 2010-12-11 03:48:24 UTC (rev 602)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java 2010-12-13 11:17:57 UTC (rev 603)
@@ -68,8 +68,8 @@
@BeforeClass
static public void loadWikittyService() throws Exception {
WikittyConfig config = new WikittyConfig(); // default config for in memory
- String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
+// String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
+// log.info(msg);
ws = WikittyServiceFactory.buildWikittyService(config);
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-12-11 03:48:24 UTC (rev 602)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-12-13 11:17:57 UTC (rev 603)
@@ -66,8 +66,8 @@
public ApplicationConfig getConfig() {
if (config == null) {
config = new WikittyConfig(); // default config for in memory
- String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
+// String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
+// log.info(msg);
}
return config;
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2010-12-11 03:48:24 UTC (rev 602)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2010-12-13 11:17:57 UTC (rev 603)
@@ -65,8 +65,8 @@
@BeforeClass
static public void loadWikittyService() throws Exception {
WikittyConfig config = new WikittyConfig(); // default config for in memory
- String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
+// String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
+// log.info(msg);
ws = WikittyServiceFactory.buildWikittyService(config);
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-12-11 03:48:24 UTC (rev 602)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-12-13 11:17:57 UTC (rev 603)
@@ -54,8 +54,8 @@
public ApplicationConfig getConfig() {
if (config == null) {
config = new WikittyConfig(); // default config for in memory
- String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
+// String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
+// log.info(msg);
}
return config;
}
Modified: trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java
===================================================================
--- trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java 2010-12-11 03:48:24 UTC (rev 602)
+++ trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java 2010-12-13 11:17:57 UTC (rev 603)
@@ -53,8 +53,8 @@
config = new WikittyConfig("wikitty-config-sample-standalone.properties");
config.setOption(WikittyConfig.WikittyOption.WIKITTY_DATA_DIR.getKey(),
"./target/data");
- String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
+// String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
+// log.info(msg);
}
return config;
}
1
0
r602 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication
by bpoussin@users.nuiton.org 11 Dec '10
by bpoussin@users.nuiton.org 11 Dec '10
11 Dec '10
Author: bpoussin
Date: 2010-12-11 04:48:24 +0100 (Sat, 11 Dec 2010)
New Revision: 602
Url: http://nuiton.org/repositories/revision/wikitty/602
Log:
fix bug in configuration load sequence
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java 2010-12-11 03:03:58 UTC (rev 601)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java 2010-12-11 03:48:24 UTC (rev 602)
@@ -248,26 +248,22 @@
String filename = String.format(patternConfigFilename, "default");
log.info(String.format("Try to load config file '%s'", filename));
ApplicationConfig wsConfigDefault;
- try {
- wsConfigDefault = new ApplicationConfig(filename);
- // change juste data dir with context path
- String dataDir = wsConfigDefault.getOption(
- WikittyConfig.WikittyOption.WIKITTY_DATA_DIR.getKey());
- wsConfigDefault.setOption(
- WikittyConfig.WikittyOption.WIKITTY_DATA_DIR.getKey(),
- dataDir + File.separator + wsContext);
- } catch (ArgumentsParserException eee) {
- throw new WikittyException(String.format(
- "Can't parse configuration %s", filename), eee);
- }
+ wsConfigDefault = new WikittyConfig(filename);
+ // change juste data dir with context path
+ String dataDir = wsConfigDefault.getOption(
+ WikittyConfig.WikittyOption.WIKITTY_DATA_DIR.getKey());
+ wsConfigDefault.setOption(
+ WikittyConfig.WikittyOption.WIKITTY_DATA_DIR.getKey(),
+ dataDir + File.separator + wsContext);
+
// read specifique configuration with default config as default properties
filename = String.format(patternConfigFilename, wsContext);
log.info(String.format("Try to load config file '%s'", filename));
ApplicationConfig wsConfig;
try {
- wsConfig = new ApplicationConfig(wsConfigDefault.getFlatOptions());
+ wsConfig = new ApplicationConfig(wsConfigDefault.getFlatOptions(false));
wsConfig.setConfigFileName(filename);
wsConfig.parse(null);
} catch (ArgumentsParserException eee) {
1
0
r601 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication resources
by bpoussin@users.nuiton.org 11 Dec '10
by bpoussin@users.nuiton.org 11 Dec '10
11 Dec '10
Author: bpoussin
Date: 2010-12-11 04:03:58 +0100 (Sat, 11 Dec 2010)
New Revision: 601
Url: http://nuiton.org/repositories/revision/wikitty/601
Log:
ajout d'une nouvelle methode eval.doAction qui prend une chaine comme sous context
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEval.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEval.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEval.java 2010-12-11 00:59:37 UTC (rev 600)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEval.java 2010-12-11 03:03:58 UTC (rev 601)
@@ -1,6 +1,7 @@
package org.nuiton.wikitty.publication;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -12,6 +13,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.Wikitty;
@@ -155,6 +157,21 @@
return result;
}
+ public Object doAction(WikittyPublicationContext context, String subContextAsText) {
+ Object result;
+ if (subContextAsText == null || "".equals(subContextAsText)) {
+ result = getError(context);
+ } else {
+ if (subContextAsText.startsWith("/")) {
+ subContextAsText = subContextAsText.substring(1);
+ }
+ String[] subContextArray = StringUtil.split(subContextAsText, "/");
+ List<String> subContext = Arrays.asList(subContextArray);
+ result = doAction(context, subContext);
+ }
+ return result;
+ }
+
@Override
public Object doAction(WikittyPublicationContext context) {
Object result;
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java 2010-12-11 00:59:37 UTC (rev 600)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java 2010-12-11 03:03:58 UTC (rev 601)
@@ -246,6 +246,7 @@
// load default configuration for all wikitty service
String filename = String.format(patternConfigFilename, "default");
+ log.info(String.format("Try to load config file '%s'", filename));
ApplicationConfig wsConfigDefault;
try {
wsConfigDefault = new ApplicationConfig(filename);
@@ -263,6 +264,7 @@
// read specifique configuration with default config as default properties
filename = String.format(patternConfigFilename, wsContext);
+ log.info(String.format("Try to load config file '%s'", filename));
ApplicationConfig wsConfig;
try {
wsConfig = new ApplicationConfig(wsConfigDefault.getFlatOptions());
Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties 2010-12-11 00:59:37 UTC (rev 600)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties 2010-12-11 03:03:58 UTC (rev 601)
@@ -51,4 +51,4 @@
wikitty.addon.export.directory=${wikitty.data.directory}/export
wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
wikitty.WikittyServiceAccessStat.components=\
-org.nuiton.wikitty.services.WikittyServiceAccessStat.AccessStatStorageWikitty
+org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageWikitty
1
0
r600 - in trunk: wikitty-api/src/test/resources wikitty-jdbc-impl/src/test/resources
by bpoussin@users.nuiton.org 11 Dec '10
by bpoussin@users.nuiton.org 11 Dec '10
11 Dec '10
Author: bpoussin
Date: 2010-12-11 01:59:37 +0100 (Sat, 11 Dec 2010)
New Revision: 600
Url: http://nuiton.org/repositories/revision/wikitty/600
Log:
delete spring config not used anymore
Removed:
trunk/wikitty-api/src/test/resources/META-INF/
trunk/wikitty-jdbc-impl/src/test/resources/META-INF/
1
0
r599 - in trunk: wikitty-api/src/main/java/org/nuiton/wikitty/search/operators wikitty-api/src/main/java/org/nuiton/wikitty/services wikitty-api/src/test/java/org/nuiton/wikitty/conform wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test
by bpoussin@users.nuiton.org 11 Dec '10
by bpoussin@users.nuiton.org 11 Dec '10
11 Dec '10
Author: bpoussin
Date: 2010-12-11 01:56:27 +0100 (Sat, 11 Dec 2010)
New Revision: 599
Url: http://nuiton.org/repositories/revision/wikitty/599
Log:
test is back :)
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/Element.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java
trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/Element.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/Element.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/search/operators/Element.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -40,7 +40,7 @@
public static String ELT_ID = "elt_id";
/** Represent type to search an element */
- public static enum ElementType {NUMERIC, STRING, WIKITTY, BOOLEAN, DATE};
+ public static enum ElementType {BINARY, NUMERIC, STRING, WIKITTY, BOOLEAN, DATE};
// serialVersionUID is used for serialization.
private static final long serialVersionUID = 1L;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -765,9 +765,13 @@
/** check if a given user belong to the group of app-admins. */
protected boolean isAppAdmin(String securityToken, String userId) {
+ // si le group n'existe pas alors tout le monde est admin
+ boolean result = true;
Wikitty group = getAppAdminGroup(securityToken);
- Set<String> ids = WikittyGroupHelper.getMembers(group);
- boolean result = isMember(securityToken, userId, ids);
+ if (group != null) {
+ Set<String> ids = WikittyGroupHelper.getMembers(group);
+ result = isMember(securityToken, userId, ids);
+ }
return result;
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -34,6 +34,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.FieldType;
import org.nuiton.wikitty.entities.FieldType.TYPE;
@@ -41,6 +42,7 @@
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyImpl;
import org.nuiton.wikitty.WikittyService;
+import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.WikittyUtil;
public abstract class AbstractTestConformance {
@@ -64,18 +66,22 @@
createType(TYPE.DATE, 1, 1)
);
- /** must be static child set ws in @BeforeClass method */
- static protected WikittyService ws ;
+ private WikittyService ws;
protected WikittyProxy proxy = null;
+ abstract public ApplicationConfig getConfig();
+
public WikittyProxy getProxy() {
if (proxy == null) {
- proxy = new WikittyProxy(ws);
+ proxy = new WikittyProxy(getWikittyService());
}
return proxy;
}
public WikittyService getWikittyService() {
+ if (ws == null) {
+ ws = WikittyServiceFactory.buildWikittyService(getConfig());
+ }
return ws;
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -41,12 +41,11 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.addons.WikittyImportExportService;
import org.nuiton.wikitty.search.operators.Element;
import org.nuiton.wikitty.search.Search;
@@ -61,30 +60,34 @@
protected WikittyImportExportService ieService;
- @BeforeClass
- static public void loadWikittyService() throws Exception {
- WikittyConfig config = new WikittyConfig(); // default config for in memory
- String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
- ws = WikittyServiceFactory.buildWikittyService(config);
+ private ApplicationConfig config = null;
+
+ @Override
+ public ApplicationConfig getConfig() {
+ if (config == null) {
+ config = new WikittyConfig(); // default config for in memory
+ String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
+ log.info(msg);
+ }
+ return config;
}
@Before
public void clearStorage() throws Exception {
- ws.clear(null);
+ getProxy().clear();
}
protected WikittyImportExportService getImportExportService() {
if (ieService == null) {
WikittyConfig config = new WikittyConfig();
- ieService = new WikittyImportExportService(config, null, ws);
+ ieService = new WikittyImportExportService(config, null, getWikittyService());
}
return ieService;
}
@Test
public void testExport() throws Exception {
- final List<Wikitty> wikitties = createSampleWikitty(ws);
+ final List<Wikitty> wikitties = createSampleWikitty(getWikittyService());
Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, AbstractTestConformance.EXTNAME).criteria();
String result = getImportExportService().syncExportAllByCriteria(
@@ -180,7 +183,7 @@
"7ca86742-5957-4659-b12f-4915cbef9193",
"77d7640c-573d-421c-a7e9-9b70bd025983"
};
- List<Wikitty> wikitties = ws.restore(null, Arrays.asList(ids));
+ List<Wikitty> wikitties = getProxy().restore(Arrays.asList(ids));
assertEquals(3, wikitties.size());
}
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -31,11 +31,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.entities.ExtensionFactory;
import org.nuiton.wikitty.entities.FieldType.TYPE;
@@ -43,24 +42,27 @@
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyImpl;
-import org.nuiton.wikitty.services.WikittyServiceEnhanced;
import org.nuiton.wikitty.search.Search;
public class SearchTest extends AbstractTestConformance {
private final static Log log = LogFactory.getLog(AbstractTestConformance.class);
- @BeforeClass
- static public void loadWikittyService() throws Exception {
- WikittyConfig config = new WikittyConfig(); // default config for in memory
- String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
- ws = WikittyServiceFactory.buildWikittyService(config);
+ private ApplicationConfig config = null;
+
+ @Override
+ public ApplicationConfig getConfig() {
+ if (config == null) {
+ config = new WikittyConfig(); // default config for in memory
+ String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
+ log.info(msg);
+ }
+ return config;
}
@Before
public void clearStorage() throws Exception {
- ws.clear(null);
+ getProxy().clear();
}
/*
@@ -105,72 +107,72 @@
w.setField(ext.getName(), "birth", "19/04/1968 15:12");
wikitties.add( w );
- ws.store(null, wikitties, false);
+ wikitties = getProxy().storeWikitty(wikitties);
// Testing search on a date criteria
Criteria criteria = Search.query()
.gt("testExt.birth", "19/04/1968 15:00")
.criteria();
- PagedResult<String> result = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> result = getProxy().findAllIdByCriteria(criteria);
List<String> found = result.getAll();
assertEquals(1, found.size());
- Wikitty wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
+ Wikitty wikittyFound = getProxy().restore(found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "birth") );
// Testing search on a date criteria
criteria = Search.query()
.ge("testExt.birth", "19/04/1968")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = getProxy().findAllIdByCriteria(criteria);
found = result.getAll();
assertEquals(2, found.size());
- wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
+ wikittyFound = getProxy().restore(found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "birth") );
criteria = Search.query()
.eq("testExt.name", "Guillaume")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = getProxy().findAllIdByCriteria(criteria);
found = result.getAll();
assertEquals(1, found.size());
- wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
+ wikittyFound = getProxy().restore(found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
criteria = Search.query()
.eq("testExt.age", "125")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = getProxy().findAllIdByCriteria(criteria);
found = result.getAll();
assertEquals(1, found.size());
- wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
+ wikittyFound = getProxy().restore(found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
criteria = Search.query()
.gt("testExt.age", "10")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = getProxy().findAllIdByCriteria(criteria);
found = result.getAll();
assertEquals(2, found.size());
- wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
+ wikittyFound = getProxy().restore(found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
- wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(1));
+ wikittyFound = getProxy().restore(found.get(1));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
Wikitty exemple = new WikittyImpl();
exemple.addExtension(ext);
exemple.setField(ext.getName(), "name", "Guillaume");
exemple.setField(ext.getName(), "age", "27");
- result = ws.findAllByCriteria(null, Search.query(exemple).criteria() );
+ result = getProxy().findAllIdByCriteria(Search.query(exemple).criteria() );
found = result.getAll();
assertEquals(1, found.size());
- wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
+ wikittyFound = getProxy().restore(found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
exemple = new WikittyImpl();
exemple.addExtension(ext);
exemple.setField(ext.getName(), "name", "Guillaume");
exemple.setField(ext.getName(), "age", "125");
- result = ws.findAllByCriteria(null, Search.query(exemple).criteria() );
+ result = getProxy().findAllIdByCriteria(Search.query(exemple).criteria() );
found = result.getAll();
assertEquals(0, found.size());
// log.info( found.get(0).getFieldAsString(ext.getName(), "name") );
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -74,7 +74,7 @@
Wikitty w = createBasicWikitty();
String id = w.getId();
w = getProxy().store(w);
- w = WikittyServiceEnhanced.restore(ws, null, id);
+ w = getProxy().restore(id);
assertTrue(w.hasExtension(EXTNAME));
for ( int i = 0; i < 3; i++ ) {
assertTrue( w.hasField(EXTNAME, "fieldName" + i));
@@ -85,7 +85,7 @@
public void testExtensionMethod() throws Exception {
{
getProxy().storeExtension(EXT_TEST);
- List<String> extIds = ws.getAllExtensionIds(null);
+ List<String> extIds = getProxy().getAllExtensionIds();
log.debug("extIds: " + extIds);
assertEquals(1, extIds.size());
WikittyExtension ext = getProxy().restoreExtension(extIds.get(0));
@@ -96,7 +96,7 @@
{
// test de la suppression de l'extension
getProxy().deleteExtension(EXT_TEST.getName());
- List<String> extIds = ws.getAllExtensionIds(null);
+ List<String> extIds = getProxy().getAllExtensionIds();
assertEquals(0, extIds.size());
}
{
@@ -113,7 +113,7 @@
} catch (WikittyException eee) {
assertTrue(true);
}
- List<String> extIds = ws.getAllExtensionIds(null);
+ List<String> extIds = getProxy().getAllExtensionIds();
assertEquals(1, extIds.size());
}
}
@@ -353,10 +353,10 @@
// essai de facettiser sur les extensions
criteria = Search.query().keyword("*").criteria()
.setFirstIndex(0).setEndIndex(0)
- .addFacetField("extensions");
+ .addFacetField(Element.ELT_EXTENSION);
resultFind = getProxy().findAllIdByCriteria(criteria);
assertEquals(1, resultFind.getFacetNames().size());
- assertNotNull(resultFind.getFacets().get("extensions"));
+ assertNotNull(resultFind.getFacets().get(Element.ELT_EXTENSION));
}
@Test
@@ -388,7 +388,7 @@
for( Wikitty w : wikitties ) {
oldIdVersion.put(w.getId(), w.getVersion());
}
- WikittyEvent response = ws.store(null, wikitties, false);
+ WikittyEvent response = getWikittyService().store(null, wikitties, false);
for (Wikitty w : wikitties) {
response.update(w);
String v1 = w.getVersion();
@@ -447,7 +447,7 @@
public void testStoreAndLabel() throws Exception {
// create some wikitty to permit search test
- List<Wikitty> wikitties = createSampleWikitty(ws);
+ List<Wikitty> wikitties = createSampleWikitty(getWikittyService());
long ts = new Date().getTime();
// labelisation test
@@ -475,7 +475,7 @@
@Test
public void testStoreAndClassification() throws Exception {
// create some wikitty to permit search test
- List<Wikitty> wikitties = createSampleWikitty(ws);
+ List<Wikitty> wikitties = createSampleWikitty(getWikittyService());
List<Wikitty> wikittyNodes = new ArrayList<Wikitty>();
WikittyTreeNodeImpl root = new WikittyTreeNodeImpl();
@@ -548,7 +548,8 @@
Wikitty w = new WikittyImpl();
w.addExtension(WikittyTreeNodeImpl.extensions);
- WikittyTreeNode treeNode = WikittyUtil.newInstance(null, ws, WikittyTreeNode.class, w);
+ WikittyTreeNode treeNode = WikittyUtil.newInstance(
+ null, getWikittyService(), WikittyTreeNode.class, w);
Assert.assertNotNull(treeNode);
}
@@ -602,9 +603,9 @@
// store 4 : new wikitty with same wikitty id (obsolete)
Wikitty myNewWikitty = new WikittyImpl(myWikitty.getId());
myNewWikitty.addExtension(WikittyTreeNodeImpl.extensions);
- WikittyTreeNodeHelper.setName(myWikitty, "new wikitty");
+ WikittyTreeNodeHelper.setName(myNewWikitty, "new wikitty");
try {
- myWikitty = getProxy().store(myWikitty);
+ myWikitty = getProxy().store(myNewWikitty);
Assert.fail("Test must throw WikittyObsoleteException");
}
catch (WikittyObsoleteException ex) {
@@ -614,12 +615,12 @@
}
// store 4 : same but with force (increased by force)
- ws.store(null, Collections.singletonList(myNewWikitty), true);
+ getWikittyService().store(null, Collections.singletonList(myNewWikitty), true);
Assert.assertEquals("3.0", myNewWikitty.getVersion());
// store 5 : fix version (not increased by force)
myNewWikitty.setVersion("11.0");
- ws.store(null, Collections.singletonList(myNewWikitty), true);
+ getWikittyService().store(null, Collections.singletonList(myNewWikitty), true);
Assert.assertEquals("11.0", myNewWikitty.getVersion());
}
Modified: trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java
===================================================================
--- trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java 2010-12-10 22:26:28 UTC (rev 598)
+++ trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java 2010-12-11 00:56:27 UTC (rev 599)
@@ -28,11 +28,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Before;
-import org.junit.BeforeClass;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyConfig;
import org.nuiton.wikitty.conform.StorageTest;
-import org.nuiton.wikitty.WikittyServiceFactory;
/**
*
@@ -46,17 +45,23 @@
protected final static Log log = LogFactory.getLog(StorageJDBCTest.class);
- @BeforeClass
- static public void loadWikittyService() throws Exception {
- WikittyConfig config = new WikittyConfig("wikitty-config-sample-standalone");
- String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
- log.info(msg);
- ws = WikittyServiceFactory.buildWikittyService(config);
+ private ApplicationConfig config = null;
+
+ @Override
+ public ApplicationConfig getConfig() {
+ if (config == null) {
+ config = new WikittyConfig("wikitty-config-sample-standalone.properties");
+ config.setOption(WikittyConfig.WikittyOption.WIKITTY_DATA_DIR.getKey(),
+ "./target/data");
+ String msg = "Try to passe test with " + config.getPrintableConfig("wikitty.*", 50);
+ log.info(msg);
+ }
+ return config;
}
@Before
public void clearStorage() throws Exception {
- ws.clear(null);
+ getProxy().clear();
}
}
1
0
r598 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication resources webapp/WEB-INF/jsp
by bpoussin@users.nuiton.org 10 Dec '10
by bpoussin@users.nuiton.org 10 Dec '10
10 Dec '10
Author: bpoussin
Date: 2010-12-10 23:26:28 +0100 (Fri, 10 Dec 2010)
New Revision: 598
Url: http://nuiton.org/repositories/revision/wikitty/598
Log:
On peut presque faire un site avec :)
Added:
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEdit.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionError.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEdit.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEdit.java 2010-12-10 22:23:35 UTC (rev 597)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionEdit.java 2010-12-10 22:26:28 UTC (rev 598)
@@ -1,20 +1,18 @@
package org.nuiton.wikitty.publication;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.publication.entities.WikittyPubData;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.operators.Element;
@@ -83,64 +81,28 @@
// on met a jour le wikitty avec les infos trouvees dans les
// arguments
-// // ajout des extensions si necessaire
-// String[] extNames = context.getRequest().getParameterValues("extensions");
-// if (extNames != null) {
-// for (String extName : extNames) {
-// WikittyExtension ext = proxy.restoreExtensionLastVersion(extName);
-// if (ext != null) {
-// w.addExtension(ext);
-// }
-// }
-// }
+ // ajout des extensions deja existante si necessaire
+ String extensions = context.getArgument("extensions", null);
+ if (extensions != null) {
+ String[] exts = StringUtil.split(
+ extensions.replace("[", "").replace("]", ""), ",");
+ for (String extName : exts) {
+ WikittyExtension ext = proxy.restoreExtensionLastVersion(extName);
+ if (ext != null) {
+ w.addExtension(ext);
+ }
+ }
+ }
- // ajout des extensions si necessaire
- String extName = context.getArgument("extensions", null);
- if (extName != null) {
+ // ajout de l'extension demande par l'utilisateur
+ String extName = context.getArgument("newExtension", null);
+ if (extName != null && !"".equals(extName)) {
WikittyExtension ext = proxy.restoreExtensionLastVersion(extName);
if (ext != null) {
w.addExtension(ext);
}
}
-// boolean isMultipart = ServletFileUpload.isMultipartContent(context.getRequest());
-// if (isMultipart == true) {
-// // Create a factory for disk-based file items
-// DiskFileItemFactory factory = new DiskFileItemFactory();
-// // Create a new file upload handler
-// ServletFileUpload upload = new ServletFileUpload(factory);
-// // Process the uploaded items
-// // Parse the request
-// try {
-// List<FileItem> items = upload.parseRequest(context.getRequest());
-// for (FileItem item : items) {
-// String key = item.getFieldName();
-// if (key.contains(WikittyUtil.FQ_FIELD_NAME_SEPARATOR)) {
-// String extName = WikittyExtension.extractExtensionName(key);
-// String fieldName = WikittyExtension.extractFieldName(key);
-//
-// if (w.hasField(extName, fieldName)) {
-// Object value = null;
-// if (!"true".equals(context.getArgument("isNull-" + key, "false"))) {
-// if (item.isFormField()) {
-// value = item.getString();
-// } else {
-// String filename = item.getName();
-// String mime = item.getContentType();
-// value = item.get();
-// log.info(String.format(
-// "Set content with file '%s' of type '%s'",
-// filename, mime));
-// }
-// }
-// w.setField(extName, fieldName, value);
-// }
-// }
-// }
-// } catch (FileUploadException eee) {
-// log.error("Can't get uploaded file", eee);
-// }
-// }
Map<String, Object> args = new HashMap<String, Object>();
@@ -158,6 +120,20 @@
value = field.getValue();
}
w.setField(ext, fieldName, value);
+
+ // si w est un WikittyPubData on essai de mettre a
+ // jour si besoin les champs mimetype et name
+ if (ext.equals(WikittyPubData.EXT_WIKITTYPUBDATA)
+ && fieldName.equals(WikittyPubData.FIELD_WIKITTYPUBDATA_CONTENT)) {
+ if (null == WikittyPubDataHelper.getName(w)) {
+ WikittyPubDataHelper.setName(w,
+ String.valueOf(args.get(key + "-filename")));
+ }
+ if (null == WikittyPubDataHelper.getMimeType(w)) {
+ WikittyPubDataHelper.setMimeType(w,
+ String.valueOf(args.get(key + "-contentType")));
+ }
+ }
}
}
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionError.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionError.java 2010-12-10 22:23:35 UTC (rev 597)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ActionError.java 2010-12-10 22:26:28 UTC (rev 598)
@@ -2,6 +2,7 @@
import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ExceptionUtil;
@@ -53,7 +54,7 @@
+ "<br>getScheme: " + req.getScheme()
+ "<br>getServerName: " + req.getServerName()
+ "<br>"
- + "<br>error:<pre>" + ExceptionUtil.stackTrace(error) + "</pre>"
+ + "<br>error:<pre>" + StringEscapeUtils.escapeHtml(ExceptionUtil.stackTrace(error)) + "</pre>"
+ "</body></html>";
return result;
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java 2010-12-10 22:23:35 UTC (rev 597)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationContext.java 2010-12-10 22:26:28 UTC (rev 598)
@@ -25,7 +25,6 @@
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyServiceFactory;
-import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyLabelAbstract;
import org.nuiton.wikitty.entities.WikittyTreeNodeAbstract;
@@ -34,7 +33,23 @@
import org.nuiton.wikitty.publication.entities.WikittyPubTextAbstract;
/**
+ * Context de la requete en cours.
*
+ * Les parametres de la requete sont parses et mis dans deux variables
+ * <li>arguments
+ * <li>argumentFiles
+ *
+ * un parametre simple sera dans arguments:
+ * <li> [filename]=[valeur du champs]
+ *
+ * un parametre de type upload aura des entrees dans les deux
+ * dans arguments:
+ * <li> [fieldname]-upload=true
+ * <li> [fieldname]-filename=[nom du fichier]
+ * <li> [fieldname]-contentType=[type mime du fichier]
+ * dans argumentFiles:
+ * <li> [fieldname]=[contenu binaire du fichier]
+ *
* @author poussin
* @version $Revision$
*
@@ -150,6 +165,9 @@
"Argument file '%s' of type '%s'",
filename, mime));
argumentFiles.put(name, value);
+ arguments.put(name+"-upload", "true");
+ arguments.put(name+"-filename", filename);
+ arguments.put(name+"-contentType", mime);
}
}
} catch (FileUploadException eee) {
Added: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties (rev 0)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties 2010-12-10 22:26:28 UTC (rev 598)
@@ -0,0 +1 @@
+wikitty.data.directory=/var/lib/wikitty-publication/codelutin
Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties 2010-12-10 22:23:35 UTC (rev 597)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-default.properties 2010-12-10 22:26:28 UTC (rev 598)
@@ -50,3 +50,5 @@
wikitty.addon.export.threadnumber=1
wikitty.addon.export.directory=${wikitty.data.directory}/export
wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
+wikitty.WikittyServiceAccessStat.components=\
+org.nuiton.wikitty.services.WikittyServiceAccessStat.AccessStatStorageWikitty
Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2010-12-10 22:23:35 UTC (rev 597)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2010-12-10 22:26:28 UTC (rev 598)
@@ -25,27 +25,31 @@
<h1>Edit <%=wikitty.getId()%></h1>
-<pre><%=wikitty%></pre>
+<pre><%=StringEscapeUtils.escapeHtml(String.valueOf(wikitty))%></pre>
<form class="edit" action='<%=url%>' method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="104857600" /> <!-- 100Mo -->
<input type="hidden" name="id" value="<%=wikitty.getId()%>" />
<input type="hidden" name="version" value="<%=wikitty.getVersion()%>" />
+ <input type="hidden" name="extensions" value="<%=wikitty.getExtensionNames()%>"/>
<fieldset>
<legend><span class="legend">Extensions</span></legend>
+ Current extension: <%=wikitty.getExtensionNames()%>
<%
WikittyProxy proxy = context.getWikittyProxy();
Collection<String> allExt = proxy.getAllExtensionIds();
if (allExt != null && allExt.size() > 0) {
%>
- <select name="extensions" size="10" multiple="multiple">
+ <select name="newExtension" size="1">
+ <option value="" selected="true"></option>
<%
for (String extId : allExt) {
String extName = WikittyExtension.computeName(extId);
- String selected = wikitty.hasExtension(extName)?"selected":"";
+ if (!wikitty.hasExtension(extName)) {
%>
- <option value="<%=extName%>" <%=selected%>><%=extName%></option>
+ <option value="<%=extName%>"><%=extName%></option>
<%
+ }
}
%>
</select>
1
0
r597 - in trunk: wikitty-api/src/main/java/org/nuiton/wikitty wikitty-api/src/main/java/org/nuiton/wikitty/services wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport wikitty-api/src/test/java/org/nuiton/wikitty/conform wikitty-api/src/test/java/org/nuiton/wikitty/notification wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test
by bpoussin@users.nuiton.org 10 Dec '10
by bpoussin@users.nuiton.org 10 Dec '10
10 Dec '10
Author: bpoussin
Date: 2010-12-10 23:23:35 +0100 (Fri, 10 Dec 2010)
New Revision: 597
Url: http://nuiton.org/repositories/revision/wikitty/597
Log:
de fil en aiguille je me suis tout de meme apercu qu'il y a une grosse classe de test qui n'etait plus jouee :(
Je remis en marche (et vire spring des tests du meme coup). Mais maintenant il y a 4 failds :(
Mais ca pas l'air simple. Mais je prefere qu'il y ait des failds que de laisse sans test :(
Je repare au plus vite (si je trouve les bugs) Sinon faite des skip sur le test de jdbc pour l'instant
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceEnhanced.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java
trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -35,6 +35,7 @@
import org.nuiton.wikitty.services.WikittyEvent;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -176,6 +177,7 @@
w = store(w);
return e;
}
+
public Wikitty store(Wikitty w) {
long start = timeTrace.getTime();
WikittyEvent resp = wikittyService.store(securityToken, w);
@@ -210,11 +212,26 @@
for (Wikitty w : wikitties) {
resp.update(w);
}
-
+
timeTrace.add(start, "store<list>");
return objets;
}
+ public List<Wikitty> storeWikitty(List<Wikitty> wikitties) {
+ long start = timeTrace.getTime();
+
+ // call the service with Wikitty
+ WikittyEvent resp = wikittyService.store(securityToken, wikitties);
+
+ // update object
+ for (Wikitty w : wikitties) {
+ resp.update(w);
+ }
+
+ timeTrace.add(start, "storeWikitty<list>");
+ return wikitties;
+ }
+
/**
* Restore wikitty entity with specified id or {@code null} if entity can't be found.
*
@@ -299,6 +316,21 @@
/**
* Restore wikitty entity with specified id or {@code null} if entity can't be be found.
+ *
+ * @param id entity id
+ * @return wikitty entity with specified id or {@code null} if entity can't be found
+ */
+ public List<Wikitty> restore(List<String> id) {
+ long start = timeTrace.getTime();
+
+ List<Wikitty> result = wikittyService.restore(securityToken, id);
+
+ timeTrace.add(start, "restoreWikitty<list>");
+ return result;
+ }
+
+ /**
+ * Restore wikitty entity with specified id or {@code null} if entity can't be be found.
*
* @param <E> object type
* @param clazz entity class
@@ -490,11 +522,19 @@
long start = timeTrace.getTime();
PagedResult<String> resultId = wikittyService.findAllByCriteria(securityToken, criteria);
PagedResult<Wikitty> result = resultId.cast(securityToken, wikittyService);
-
+
timeTrace.add(start, "findAllByCriteria");
return result;
}
-
+
+ public PagedResult<String> findAllIdByCriteria(Criteria criteria) {
+ long start = timeTrace.getTime();
+ PagedResult<String> result = wikittyService.findAllByCriteria(securityToken, criteria);
+
+ timeTrace.add(start, "findAllByCriteria");
+ return result;
+ }
+
public <E extends BusinessEntity> E findByCriteria(Class<E> clazz, Criteria criteria) {
long start = timeTrace.getTime();
BusinessEntityImpl sample =
@@ -744,7 +784,21 @@
timeTrace.add(start, "restoreExtensionLastVersion");
return extension;
}
-
+
+ public void deleteExtension(String extName) {
+ long start = timeTrace.getTime();
+ wikittyService.deleteExtension(securityToken, extName);
+
+ timeTrace.add(start, "deleteExtension");
+ }
+
+ public void deleteExtension(Collection<String> extNames) {
+ long start = timeTrace.getTime();
+ wikittyService.deleteExtension(securityToken, extNames);
+
+ timeTrace.add(start, "deleteExtension<list>");
+ }
+
/**
* Return all extension id (ex: "extName[version])").
*
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -19,7 +19,6 @@
import org.nuiton.wikitty.WikittyTree;
import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.Wikitty;
-import org.nuiton.wikitty.entities.WikittyAccessStat;
import org.nuiton.wikitty.entities.WikittyAccessStatHelper;
import org.nuiton.wikitty.entities.WikittyAccessStatImpl;
import org.nuiton.wikitty.entities.WikittyTokenHelper;
@@ -83,9 +82,15 @@
super(service);
this.statStorage = statStorage;
if (statStorage == null) {
- log.warn("No AccessStatStorage available, access stat can't work");
+ if (log.isWarnEnabled()) {
+ String statSto = config.getOption(WikittyConfig.WikittyOption.
+ WIKITTY_WIKITTYSERICEACCESSSTAT_COMPONENTS.getKey());
+ log.warn(String.format(
+ "No AccessStatStorage available, access stat can't work (%s)",
+ statSto));
+ }
} else {
- // if no statStorage, make extensions to never call statStorage
+ // if no statStorage, make empty extensions to never call statStorage
List<String> exts = config.getOptionAsList(WikittyConfig.WikittyOption.
WIKITTY_ACCESSSTAT_EXTENSIONS.getKey()).getOption();
if (log.isInfoEnabled()) {
@@ -142,6 +147,9 @@
* @param wikitties
*/
protected void addStat(String securityToken, Collection wikitties) {
+ if (statStorage == null) {
+ return;
+ }
boolean userLoaded = false;
String user = null;
@@ -177,8 +185,9 @@
stats.add(stat.getWikitty());
}
}
-
- statStorage.store(this, securityToken, stats);
+ if (stats.size() > 0 ) {
+ statStorage.store(this, securityToken, stats);
+ }
}
@Override
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceEnhanced.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceEnhanced.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceEnhanced.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -83,6 +83,10 @@
return delete(securityToken, Collections.singleton(id));
}
+ public WikittyEvent deleteExtension(String securityToken, String extName) {
+ return deleteExtension(securityToken, Collections.singleton(extName));
+ }
+
/**
* Conveniant static method usefull in other WikittyService implementation
* where we don't wan't instanciate WikittyServiceEnhanced
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 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/addons/importexport/ImportExportCSVTest.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -25,14 +25,16 @@
package org.nuiton.wikitty.addons.importexport;
-import org.nuiton.wikitty.addons.importexport.ImportExportCSV;
import java.net.URL;
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.junit.runner.RunWith;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
@@ -43,12 +45,10 @@
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;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* Test for CSV import export class
@@ -59,13 +59,25 @@
* Last update : $Date$
* By : $Author$
*/
-(a)RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations="classpath:META-INF/spring/wikitty-test.xml")
public class ImportExportCSVTest {
- @Autowired
- protected WikittyService ws ;
+ private final static Log log = LogFactory.getLog(ImportExportCSVTest.class);
+
+ static protected WikittyService ws ;
+ @BeforeClass
+ static public void loadWikittyService() throws Exception {
+ WikittyConfig config = new WikittyConfig(); // 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;
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -26,7 +26,6 @@
import java.text.ParseException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map.Entry;
@@ -35,7 +34,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.junit.runner.RunWith;
+import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.entities.FieldType;
import org.nuiton.wikitty.entities.FieldType.TYPE;
import org.nuiton.wikitty.entities.Wikitty;
@@ -43,19 +42,14 @@
import org.nuiton.wikitty.entities.WikittyImpl;
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-(a)RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations="classpath:META-INF/spring/wikitty-test.xml")
public abstract class AbstractTestConformance {
public static final String EXTNAME = "wikittyExt";
public static final String EXTREQUIRED = "wikittyRequired";
public static final String EXTREQUIRES = "wikittyRequires";
- protected final static Log log = LogFactory.getLog(AbstractTestConformance.class);
+ private final static Log log = LogFactory.getLog(AbstractTestConformance.class);
public static final WikittyExtension EXT_REQUIRED =
createExtension(EXTREQUIRED, null);
@@ -69,10 +63,18 @@
createType(TYPE.NUMERIC, 1, 1),
createType(TYPE.DATE, 1, 1)
);
-
- @Autowired
- protected WikittyService ws ;
-
+
+ /** must be static child set ws in @BeforeClass method */
+ static protected WikittyService ws ;
+ protected WikittyProxy proxy = null;
+
+ public WikittyProxy getProxy() {
+ if (proxy == null) {
+ proxy = new WikittyProxy(ws);
+ }
+ return proxy;
+ }
+
public WikittyService getWikittyService() {
return ws;
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -40,10 +40,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.WikittyConfig;
+import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.addons.WikittyImportExportService;
import org.nuiton.wikitty.search.operators.Element;
import org.nuiton.wikitty.search.Search;
@@ -54,10 +57,23 @@
public class ImportExportTest extends AbstractTestConformance {
- protected final static Log log = LogFactory.getLog(ImportExportTest.class);
+ private static Log log = LogFactory.getLog(ImportExportTest.class);
protected WikittyImportExportService ieService;
+ @BeforeClass
+ static public void loadWikittyService() throws Exception {
+ WikittyConfig config = new WikittyConfig(); // 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);
+ }
+
protected WikittyImportExportService getImportExportService() {
if (ieService == null) {
WikittyConfig config = new WikittyConfig();
@@ -68,7 +84,6 @@
@Test
public void testExport() throws Exception {
- ws.clear(null); // Database must be clean before create and export
final List<Wikitty> wikitties = createSampleWikitty(ws);
Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, AbstractTestConformance.EXTNAME).criteria();
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -32,16 +32,16 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.nuiton.wikitty.WikittyConfig;
import org.nuiton.wikitty.entities.FieldType;
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyExtension;
import org.nuiton.wikitty.entities.WikittyImpl;
import org.nuiton.wikitty.WikittyService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.nuiton.wikitty.WikittyServiceFactory;
/**
* This class is <strong>NOT</strong> a test. It's a benchlark that
@@ -54,17 +54,27 @@
* Last update: $Date$
* by : $Author$
*/
-(a)RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations="classpath:META-INF/spring/wikitty-test.xml")
public class PerformanceBenchMark {
protected final static Log log = LogFactory.getLog(PerformanceBenchMark.class);
protected final static int WIKITTY_SIZE = 10000;
- @Autowired
- protected WikittyService wikittyService;
+ static protected WikittyService ws;
+ @BeforeClass
+ static public void loadWikittyService() throws Exception {
+ WikittyConfig config = new WikittyConfig(); // default config for in memory
+ String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
+ log.info(msg);
+ ws = WikittyServiceFactory.buildWikittyService(config);
+ }
+
+ @Before
+ public void clearStorage() throws Exception {
+ ws.clear(null);
+ }
+
@Test
public void testPerformanceWikitty() throws Exception {
testPerformanceWikitty(3);
@@ -78,7 +88,7 @@
FieldType fieldType = new FieldType(FieldType.TYPE.STRING, 1, 1);
extension.addField("field" + i, fieldType);
}
- wikittyService.storeExtension(null, Arrays.asList(extension));
+ ws.storeExtension(null, Arrays.asList(extension));
Collection<Wikitty> wikitties = new ArrayList<Wikitty>(WIKITTY_SIZE);
for (int i = 0; i < WIKITTY_SIZE; i++) {
@@ -90,7 +100,7 @@
wikitties.add(wikitty);
}
long start = System.currentTimeMillis();
- wikittyService.store(null, wikitties, false);
+ ws.store(null, wikitties, false);
long end = System.currentTimeMillis();
log.info("[Performance" + fieldSize + "] Write times : " + ((end - start) / 1000) + "s");
@@ -98,7 +108,7 @@
start = System.currentTimeMillis();
for (int i = 0; i < WIKITTY_SIZE; i++) {
int nextInt = random.nextInt(WIKITTY_SIZE);
- wikittyService.restore(null, Arrays.asList("Performance" + fieldSize + "id" + nextInt));
+ ws.restore(null, Arrays.asList("Performance" + fieldSize + "id" + nextInt));
}
end = System.currentTimeMillis();
log.info("[Performance" + fieldSize + "] Read times : " + ((end - start) / 1000) + "s");
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -28,8 +28,14 @@
import java.util.LinkedList;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Test;
+import org.nuiton.wikitty.WikittyConfig;
+import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.entities.ExtensionFactory;
import org.nuiton.wikitty.entities.FieldType.TYPE;
@@ -42,6 +48,21 @@
public class SearchTest extends AbstractTestConformance {
+ private final static Log log = LogFactory.getLog(AbstractTestConformance.class);
+
+ @BeforeClass
+ static public void loadWikittyService() throws Exception {
+ WikittyConfig config = new WikittyConfig(); // 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);
+ }
+
/*
* TODO Will contains all conformance tests to the search features.
*/
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -61,20 +61,19 @@
import org.nuiton.wikitty.services.WikittyServiceEnhanced;
import org.nuiton.wikitty.services.WikittyEvent;
import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.entities.FieldFactory;
import org.nuiton.wikitty.entities.WikittyTreeNodeHelper;
import org.nuiton.wikitty.search.operators.Element;
import org.nuiton.wikitty.search.Search;
public abstract class StorageTest extends AbstractTestConformance {
- protected final static Log log = LogFactory.getLog(StorageTest.class);
+ private final static Log log = LogFactory.getLog(StorageTest.class);
@Test
public void testStoreRestoreBasics() throws Exception {
Wikitty w = createBasicWikitty();
String id = w.getId();
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
w = WikittyServiceEnhanced.restore(ws, null, id);
assertTrue(w.hasExtension(EXTNAME));
for ( int i = 0; i < 3; i++ ) {
@@ -85,31 +84,31 @@
@Test
public void testExtensionMethod() throws Exception {
{
- ws.storeExtension(null, Collections.singletonList(EXT_TEST));
+ getProxy().storeExtension(EXT_TEST);
List<String> extIds = ws.getAllExtensionIds(null);
log.debug("extIds: " + extIds);
assertEquals(1, extIds.size());
- WikittyExtension ext = ws.restoreExtension(null, extIds.get(0));
+ WikittyExtension ext = getProxy().restoreExtension(extIds.get(0));
assertEquals(EXT_TEST.getName(), ext.getName());
assertEquals(EXT_TEST.getVersion(), ext.getVersion());
assertEquals(EXT_TEST, ext);
}
{
// test de la suppression de l'extension
- ws.deleteExtension(null, Collections.singleton(EXT_TEST.getName()));
+ getProxy().deleteExtension(EXT_TEST.getName());
List<String> extIds = ws.getAllExtensionIds(null);
assertEquals(0, extIds.size());
}
{
// test que la suppression echoue si l'extension est utilisee
- ws.storeExtension(null, Collections.singletonList(EXT_TEST));
+ getProxy().storeExtension(EXT_TEST);
Wikitty w = new WikittyImpl();
w.addExtension(EXT_TEST);
- ws.store(null, Collections.singleton(w), false);
-
+ w = getProxy().store(w);
+
try {
- ws.deleteExtension(null, Collections.singleton(EXT_TEST.getName()));
+ getProxy().deleteExtension(EXT_TEST.getName());
assertTrue(false); // il doit y avoir une exception, donc on ne passe pas la
} catch (WikittyException eee) {
assertTrue(true);
@@ -121,12 +120,12 @@
@Test
public void testExtensionRequires() throws Exception {
- ws.storeExtension(null, Arrays.asList(EXT_REQUIRED, EXT_REQUIRES));
- List<String> extIds = ws.getAllExtensionsRequires(null, EXTREQUIRED);
+ getProxy().storeExtension(Arrays.asList(EXT_REQUIRED, EXT_REQUIRES));
+ List<String> extIds = getProxy().getAllExtensionsRequires(EXTREQUIRED);
log.debug("extIds: " + extIds);
assertEquals(1, extIds.size());
- WikittyExtension ext = ws.restoreExtension(null, extIds.get(0));
+ WikittyExtension ext = getProxy().restoreExtension(extIds.get(0));
assertEquals(EXT_REQUIRES.getName(), ext.getName());
assertEquals(EXT_REQUIRES.getVersion(), ext.getVersion());
assertEquals(EXT_REQUIRES, ext);
@@ -157,9 +156,9 @@
wikitties.add( w );
ids.add( w.getId() );
}
- ws.store(null, wikitties, false);
+ wikitties = getProxy().storeWikitty(wikitties);
- wikitties = ws.restore(null, ids);
+ wikitties = getProxy().restore(ids);
int wIndex = 0;
for ( String wValue : wValues ) {
Wikitty w = wikitties.get(wIndex);
@@ -197,7 +196,7 @@
Wikitty w = null;
// should be ignored (?)
try {
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
fail("store(null) Must throw an exception !");
} catch (Exception e) {
// OK !
@@ -205,8 +204,8 @@
w = new WikittyImpl();
String id = w.getId();
- ws.store(null, Collections.singletonList(w), false);
- w = WikittyServiceEnhanced.restore(ws, null, id);
+ w = getProxy().store(w);
+ w = getProxy().restore(id);
assertEquals( id, w.getId() );
}
@@ -219,12 +218,12 @@
"String other[0-n] unique=true notNull=true"
));
- ws.storeExtension(null, Collections.singletonList(ext));
+ getProxy().storeExtension(ext);
Wikitty w = new WikittyImpl();
w.addExtension(ext);
try {
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
Assert.fail("not null contraint don't work on String");
} catch (WikittyException eee) {
eee.printStackTrace();
@@ -233,7 +232,7 @@
w.setField("TestConstraint", "id", "toto");
try {
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
Assert.fail("not null contraint don't work in Collection");
} catch (WikittyException eee) {
eee.printStackTrace();
@@ -241,18 +240,18 @@
}
w.addToField("TestConstraint", "other", "titi");
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
w.addToField("TestConstraint", "ext", "tata");
w.addToField("TestConstraint", "ext", "titi");
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
- Wikitty w2 = WikittyServiceEnhanced.restore(ws, null, w.getId());
+ Wikitty w2 = getProxy().restore(w.getId());
w2.addToField("TestConstraint", "ext", "tata"); // tata ne doit pas s'ajouter
w2.addToField("TestConstraint", "ext", "toto");
- ws.store(null, Collections.singletonList(w2), false);
- Wikitty w3 = WikittyServiceEnhanced.restore(ws, null, w.getId());
+ w2 = getProxy().store(w2);
+ Wikitty w3 = getProxy().restore(w.getId());
HashSet set = new HashSet(Arrays.asList("tata", "titi", "toto"));
assertEquals(set, w3.getFieldAsSet("TestConstraint", "ext", String.class));
@@ -283,7 +282,7 @@
Wikitty w = createWikitty( wValue, EXTNAME, EXT_TEST );
wikitties.add( w );
}
- ws.store(null, wikitties, false);
+ wikitties = getProxy().storeWikitty(wikitties);
// search test
Wikitty w = new WikittyImpl();
@@ -291,10 +290,10 @@
w.setField(EXT_TEST.getName(), "fieldName1", "003309");
Criteria criteria = Search.query(w).criteria()
.addSortDescending(EXT_TEST.getName() + ".fieldName0");
- PagedResult<String> resultFind = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> resultFind = getProxy().findAllIdByCriteria(criteria);
assertEquals(2, resultFind.size());
- List<Wikitty> wikittyFind = ws.restore(null, resultFind.getAll());
+ List<Wikitty> wikittyFind = getProxy().restore(resultFind.getAll());
assertEquals(wikitties.subList(0, 2), wikittyFind);
}
@@ -328,7 +327,7 @@
Wikitty w = createWikitty( wValue, EXTNAME, EXT_TEST );
wikitties.add( w );
}
- ws.store(null, wikitties, false);
+ wikitties = getProxy().storeWikitty(wikitties);
// search test
Wikitty w = new WikittyImpl();
@@ -338,7 +337,7 @@
.setFirstIndex(0).setEndIndex(Criteria.ALL_ELEMENTS)
.addFacetField(EXT_TEST.getName()+".fieldName0")
.addFacetField(EXT_TEST.getName()+".fieldName1");
- PagedResult<String> resultFind = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> resultFind = getProxy().findAllIdByCriteria(criteria);
List<String> facetNames = new ArrayList<String>(resultFind.getFacetNames());
Collections.sort(facetNames);
@@ -349,6 +348,15 @@
assertEquals(2, resultFind.getTopic(EXT_TEST.getName()+".fieldName0").size());
// with must have 1 topic: 663300
assertEquals(1, resultFind.getTopic(EXT_TEST.getName()+".fieldName1").size());
+
+
+ // essai de facettiser sur les extensions
+ criteria = Search.query().keyword("*").criteria()
+ .setFirstIndex(0).setEndIndex(0)
+ .addFacetField("extensions");
+ resultFind = getProxy().findAllIdByCriteria(criteria);
+ assertEquals(1, resultFind.getFacetNames().size());
+ assertNotNull(resultFind.getFacets().get("extensions"));
}
@Test
@@ -395,7 +403,7 @@
w.addExtension(EXT_TEST);
w.setField(EXT_TEST.getName(), "fieldName0", "chaiseICI");
Criteria criteria = Search.query(w).criteria();
- Wikitty resultFind = ws.findByCriteria(null, criteria);
+ Wikitty resultFind = getProxy().findByCriteria(criteria);
Wikitty wikittySource = wikitties.get(1);
assertEquals(w.getFieldAsString(EXT_TEST.getName(), "fieldName0"),
@@ -416,18 +424,17 @@
// test to find deleted wikitty
// test if solr index is coherent with database
Criteria criteria1 = Search.query().eq(Element.ELT_ID, wikittySource.getId()).criteria();
- Wikitty searchedWikitty1 = ws.findByCriteria(null, criteria1);
+ Wikitty searchedWikitty1 = getProxy().findByCriteria(criteria1);
Assert.assertNotNull(searchedWikitty1);
- ws.delete(null, Collections.singletonList(wikittySource.getId()));
- Wikitty deletedObject =
- WikittyServiceEnhanced.restore(ws, null, wikittySource.getId());
+ getProxy().delete(wikittySource.getId());
+ Wikitty deletedObject = getProxy().restore(wikittySource.getId());
assertNull(deletedObject);
// test to find deleted wikitty
// test if solr index is coherent with database
Criteria criteria2 = Search.query().eq(Element.ELT_ID, wikittySource.getId()).criteria();
- Wikitty searchedWikitty2 = ws.findByCriteria(null, criteria2);
+ Wikitty searchedWikitty2 = getProxy().findByCriteria(criteria2);
Assert.assertNull(searchedWikitty2);
}
@@ -443,26 +450,24 @@
List<Wikitty> wikitties = createSampleWikitty(ws);
long ts = new Date().getTime();
- WikittyProxy proxy = new WikittyProxy(ws);
-
// labelisation test
Wikitty w1 = wikitties.get(0);
- WikittyLabelUtil.addLabel(proxy, w1.getId(), "titi"+ts);
- WikittyLabelUtil.addLabel(proxy, w1.getId(), "toto"+ts);
+ WikittyLabelUtil.addLabel(getProxy(), w1.getId(), "titi"+ts);
+ WikittyLabelUtil.addLabel(getProxy(), w1.getId(), "toto"+ts);
Wikitty w2 = wikitties.get(1);
- WikittyLabelUtil.addLabel(proxy, w2.getId(), "tata"+ts);
- WikittyLabelUtil.addLabel(proxy, w2.getId(), "titi"+ts);
+ WikittyLabelUtil.addLabel(getProxy(), w2.getId(), "tata"+ts);
+ WikittyLabelUtil.addLabel(getProxy(), w2.getId(), "titi"+ts);
Wikitty w3 = wikitties.get(2);
- WikittyLabelUtil.addLabel(proxy, w3.getId(), "tutu"+ts);
- WikittyLabelUtil.addLabel(proxy, w3.getId(), "titi"+ts);
+ WikittyLabelUtil.addLabel(getProxy(), w3.getId(), "tutu"+ts);
+ WikittyLabelUtil.addLabel(getProxy(), w3.getId(), "titi"+ts);
- Wikitty wt = WikittyLabelUtil.findByLabel(proxy, "toto"+ts );
+ Wikitty wt = WikittyLabelUtil.findByLabel(getProxy(), "toto"+ts );
assertEquals(w1, wt);
- Set<String> labels = WikittyLabelUtil.findAllAppliedLabels(proxy, w2.getId());
+ Set<String> labels = WikittyLabelUtil.findAllAppliedLabels(getProxy(), w2.getId());
assertEquals(new HashSet(Arrays.asList("tata"+ts, "titi"+ts)), labels);
}
@@ -491,7 +496,7 @@
// leaf.addChild( subLeaf.getWikittyId() );
}
}
- ws.store(null, wikittyNodes, false); // store treeNodes.
+ wikittyNodes = getProxy().storeWikitty(wikittyNodes); // store treeNodes.
Wikitty table = wikitties.get(0);
Wikitty chaise = wikitties.get(1);
@@ -501,7 +506,7 @@
assign( table, root, "cat-1" );
assign( bureau, root, "cat-2/subcat-2-4" );
- WikittyTree t = ws.restoreTree(null, root.getWikitty().getId() );
+ WikittyTree t = getProxy().restoreTree(root.getWikitty().getId() );
t.getName().equals("MyCategoryRoot");
@@ -516,8 +521,8 @@
Criteria criteria = Search.query(node.getWikitty()).criteria()
.setFirstIndex(0).setEndIndex(Criteria.ALL_ELEMENTS);
- List<String> wikittiesId = ws.findAllByCriteria(null, criteria).getAll();
- List<Wikitty> wikitties = ws.restore(null, wikittiesId);
+ List<String> wikittiesId = getProxy().findAllIdByCriteria(criteria).getAll();
+ List<Wikitty> wikitties = getProxy().restore(wikittiesId);
for ( Wikitty child : wikitties ) {
if (!child.hasExtension(WikittyTreeNode.EXT_WIKITTYTREENODE)) {
continue;
@@ -531,7 +536,7 @@
fail( "Unable to find node " + nodeName + " inside " + currentNode.getName() );
}
currentNode.addAttachment(wikitty.getId());
- ws.store(null, Collections.singletonList(currentNode.getWikitty()), false);
+ getProxy().store(currentNode.getWikitty());
}
/**
@@ -552,23 +557,21 @@
*/
@Test
public void testCast() {
- WikittyProxy wikittyProxy = new WikittyProxy();
- wikittyProxy.setWikittyService(ws);
WikittyTreeNode node = new WikittyTreeNodeImpl();
node.setName("nodeName");
// cast, different business object, same wikitty
- WikittyLabel label = wikittyProxy.cast(node, WikittyLabel.class);
+ WikittyLabel label = getProxy().cast(node, WikittyLabel.class);
label.addLabels("toto");
- label = wikittyProxy.store(label);
+ label = getProxy().store(label);
String wikittyId = label.getWikittyId();
- WikittyTreeNode node2 = wikittyProxy.restore(WikittyTreeNode.class, wikittyId);
+ WikittyTreeNode node2 = getProxy().restore(WikittyTreeNode.class, wikittyId);
Assert.assertEquals("nodeName", node2.getName());
- WikittyLabel label2 = wikittyProxy.cast(node, WikittyLabel.class);
+ WikittyLabel label2 = getProxy().cast(node, WikittyLabel.class);
List<String> labels = new ArrayList<String>(label2.getLabels());
Assert.assertFalse(labels.isEmpty());
Assert.assertEquals("toto", labels.get(0));
@@ -583,24 +586,25 @@
// store 1
Wikitty myWikitty = new WikittyImpl();
myWikitty.addExtension(WikittyTreeNodeImpl.extensions);
- myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "name");
- ws.store(null, Collections.singletonList(myWikitty), false);
+ WikittyTreeNodeHelper.setName(myWikitty, "name");
+ myWikitty = getProxy().store(myWikitty);
Assert.assertEquals("1.0", myWikitty.getVersion());
// store 2 : no modification
- ws.store(null, Collections.singletonList(myWikitty), false);
+ myWikitty = getProxy().store(myWikitty);
Assert.assertEquals("1.0", myWikitty.getVersion());
// store 3 : modification
- myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "new name");
- ws.store(null, Collections.singletonList(myWikitty), false);
+ WikittyTreeNodeHelper.setName(myWikitty, "new name");
+ myWikitty = getProxy().store(myWikitty);
Assert.assertEquals("2.0", myWikitty.getVersion());
// store 4 : new wikitty with same wikitty id (obsolete)
Wikitty myNewWikitty = new WikittyImpl(myWikitty.getId());
- myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "new wikitty");
+ myNewWikitty.addExtension(WikittyTreeNodeImpl.extensions);
+ WikittyTreeNodeHelper.setName(myWikitty, "new wikitty");
try {
- ws.store(null, Collections.singletonList(myNewWikitty), false);
+ myWikitty = getProxy().store(myWikitty);
Assert.fail("Test must throw WikittyObsoleteException");
}
catch (WikittyObsoleteException ex) {
@@ -630,18 +634,16 @@
myWikitty.addExtension(WikittyTreeNodeImpl.extensions);
WikittyTreeNodeHelper.setName(myWikitty, "name");
- ws.store(null, Collections.singletonList(myWikitty), false);
+ myWikitty = getProxy().store(myWikitty);
// delete
- ws.delete(null, Collections.singletonList(myWikitty.getId()));
- Wikitty restoredWikitty =
- WikittyServiceEnhanced.restore(ws, null, myWikitty.getId());
+ getProxy().delete(myWikitty.getId());
+ Wikitty restoredWikitty = getProxy().restore(myWikitty.getId());
Assert.assertNull(restoredWikitty);
// store again
- ws.store(null, Collections.singletonList(myWikitty), false);
- restoredWikitty =
- WikittyServiceEnhanced.restore(ws, null, myWikitty.getId());
+ myWikitty = getProxy().store(myWikitty);
+ restoredWikitty = getProxy().restore(myWikitty.getId());
Assert.assertNotNull(restoredWikitty);
}
@@ -661,10 +663,9 @@
w.setField(extName, "name", "LeBin");
w.setField(extName, "content", bytes);
- ws.store(null, Collections.singletonList(w), false);
+ w = getProxy().store(w);
- Wikitty restoredWikitty =
- WikittyServiceEnhanced.restore(ws, null, w.getId());
+ Wikitty restoredWikitty = getProxy().restore(w.getId());
Assert.assertNotNull(restoredWikitty);
Assert.assertEquals("LeBin", restoredWikitty.getFieldAsString(extName, "name"));
Assert.assertEquals(bytes, restoredWikitty.getFieldAsBytes(extName, "content"));
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -35,7 +35,6 @@
import org.jivesoftware.smackx.muc.MultiUserChat;
import org.junit.Test;
import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.services.WikittyEvent;
import org.nuiton.wikitty.services.WikittyServiceNotifier;
Modified: trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java
===================================================================
--- trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java 2010-12-10 18:06:23 UTC (rev 596)
+++ trunk/wikitty-jdbc-impl/src/test/java/org/nuiton/wikitty/jdbc/test/StorageJDBCTest.java 2010-12-10 22:23:35 UTC (rev 597)
@@ -25,15 +25,14 @@
package org.nuiton.wikitty.jdbc.test;
-import org.junit.Assume;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.nuiton.wikitty.WikittyConfig;
-import org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC;
-import org.nuiton.wikitty.jdbc.WikittyServiceJDBC;
import org.nuiton.wikitty.conform.StorageTest;
-import java.io.InputStream;
-import java.util.Properties;
+import org.nuiton.wikitty.WikittyServiceFactory;
/**
*
@@ -43,75 +42,21 @@
* Last update: $Date$
* by : $Author$
*/
-public abstract class StorageJDBCTest extends StorageTest {
+public class StorageJDBCTest extends StorageTest {
- @Before
- public void deleteAll() throws Exception {
- String configFileName = getConfigFileName();
+ protected final static Log log = LogFactory.getLog(StorageJDBCTest.class);
- // If not null use secific config file
- // else using H2 by default
- if (configFileName != null) {
-
- // Be sure to not read other config files
- InputStream input = WikittyConfig.class.getResourceAsStream(configFileName);
- Properties options = new Properties();
- options.load(input);
- WikittyConfig config = new WikittyConfig(options);
-
- try {
- canConnectWithConfig(config);
- } catch (Exception eee) {
- if (log.isWarnEnabled()) {
- log.warn("Failled to run test with config '" + configFileName + '"');
- }
- if (log.isDebugEnabled()) {
- log.debug("An error is occured : ", eee);
- }
- Assume.assumeNoException(eee);
- }
-
- log.info("Using config file : " + configFileName);
- ws = new WikittyServiceJDBC(config);
- }
-
- WikittyServiceJDBC service = ((WikittyServiceJDBC) ws);
- service.clear(null);
+ @BeforeClass
+ static public void loadWikittyService() throws Exception {
+ WikittyConfig config = new WikittyConfig("wikitty-config-sample-standalone");
+ String msg = "Try to passe test with "+ config.getPrintableConfig("wikitty.*", 50);
+ log.info(msg);
+ ws = WikittyServiceFactory.buildWikittyService(config);
}
- public void canConnectWithConfig(WikittyConfig config) throws Exception {
- new WikittyExtensionStorageJDBC(config);
+ @Before
+ public void clearStorage() throws Exception {
+ ws.clear(null);
}
- public abstract String getConfigFileName();
-
- /**
- *@author sletellier
- */
- public class H2StorageJDBCTest extends StorageJDBCTest {
-
- @Override
- public String getConfigFileName() {
-
- // Use H2 by default
- return null;
- }
-
- }
-
- /**
- * You must configure an postgres database and configure
- * postgres-wikitty-config.properties to run this test
- * <p>
- * (see http://jdbc.postgresql.org/development/intro.html#Test+Suite)
- *
- * @author sletellier
- */
- public class PostgresqlStorageJDBCTest extends StorageJDBCTest {
-
- @Override
- public String getConfigFileName() {
- return "/postrges-wikitty-config.properties";
- }
- }
}
1
0
r596 - trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc
by bpoussin@users.nuiton.org 10 Dec '10
by bpoussin@users.nuiton.org 10 Dec '10
10 Dec '10
Author: bpoussin
Date: 2010-12-10 19:06:23 +0100 (Fri, 10 Dec 2010)
New Revision: 596
Url: http://nuiton.org/repositories/revision/wikitty/596
Log:
use Appconfig.getOptionAsList method
Modified:
trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyJDBCUtil.java
Modified: trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyJDBCUtil.java
===================================================================
--- trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyJDBCUtil.java 2010-12-10 18:05:38 UTC (rev 595)
+++ trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyJDBCUtil.java 2010-12-10 18:06:23 UTC (rev 596)
@@ -35,6 +35,7 @@
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
@@ -181,11 +182,10 @@
Properties result = null;
// list of all properties file to load
- String wikittyQueryFileList = config.getOption(
- WikittyConfig.WikittyOption.WIKITTY_STORAGE_JDBC_QUERY_FILE.getKey());
+ List<String> wikittyQueryFiles = config.getOptionAsList(
+ WikittyConfig.WikittyOption.WIKITTY_STORAGE_JDBC_QUERY_FILE.getKey())
+ .getOption();
- String[] wikittyQueryFiles = wikittyQueryFileList.split(",");
-
for (String file : wikittyQueryFiles) {
// create new Properties with result as parent
result = new Properties(result);
1
0
r595 - in trunk/wikitty-api/src/main: java/org/nuiton/wikitty java/org/nuiton/wikitty/services xmi
by bpoussin@users.nuiton.org 10 Dec '10
by bpoussin@users.nuiton.org 10 Dec '10
10 Dec '10
Author: bpoussin
Date: 2010-12-10 19:05:38 +0100 (Fri, 10 Dec 2010)
New Revision: 595
Url: http://nuiton.org/repositories/revision/wikitty/595
Log:
- add Date in WikittyToken
- add Date in WikittyAccessStat
- WikittyAccessStat refactore storage to support monitoring with log(file), wikitty(db) or other
Modified:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyConfig.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java
trunk/wikitty-api/src/main/xmi/wikitty.properties
trunk/wikitty-api/src/main/xmi/wikitty.zargo
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyConfig.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyConfig.java 2010-12-10 18:03:19 UTC (rev 594)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyConfig.java 2010-12-10 18:05:38 UTC (rev 595)
@@ -34,6 +34,7 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.wikitty.services.WikittyServiceAccessStat.AccessStatStorageWikitty;
/**
* Configuration de tous les modules Wikitty. La configuration par defaut doit
@@ -222,6 +223,16 @@
+ " or org.nuiton.wikitty.services.WikittyServiceInMemoryJdbcSolr)"),
WikittyServiceInMemory.class.getName(), String.class, false, false),
+ WIKITTY_WIKITTYSERICEACCESSSTAT_COMPONENTS(
+ "wikitty.WikittyServiceAccessStat.components",
+ _("Indique le composant a utiliser pour le stockage des acces"),
+ AccessStatStorageWikitty.class.getName(), String.class, false, false),
+
+ WIKITTY_ACCESSSTAT_EXTENSIONS(
+ "wikitty.service.accessstat.extensions",
+ _("Indique la liste d'extension dont il faut monitorer l'acces"),
+ "WikittyPubText,WikittyPubData", String.class, false, false),
+
WIKITTY_SERVER_CONFIG(
"wikitty.service.server.config",
_("Jetty server configuration file name"),
@@ -250,11 +261,6 @@
_("Indique si le cache retourne des copies des objets ou des proxies"),
"false", Boolean.class, false, false),
- WIKITTY_ACCESSSTAT_EXTENSIONS(
- "wikitty.service.accessstat.extensions",
- _("Indique la liste d'extension dont il faut monitorer l'acces"),
- "WikittyPubText,WikittyPubData", String.class, false, false),
-
WIKITTY_EVENT_PROPAGATE(
"wikitty.service.event.propagate",
_("Indique si le service d'event propage sur le reseau les evenements"),
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java 2010-12-10 18:03:19 UTC (rev 594)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceAccessStat.java 2010-12-10 18:05:38 UTC (rev 595)
@@ -4,13 +4,13 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import java.util.Date;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import java.util.StringTokenizer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
@@ -19,6 +19,8 @@
import org.nuiton.wikitty.WikittyTree;
import org.nuiton.wikitty.entities.BusinessEntity;
import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyAccessStat;
+import org.nuiton.wikitty.entities.WikittyAccessStatHelper;
import org.nuiton.wikitty.entities.WikittyAccessStatImpl;
import org.nuiton.wikitty.entities.WikittyTokenHelper;
import org.nuiton.wikitty.entities.WikittyTreeNode;
@@ -37,16 +39,60 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(WikittyServiceAccessStat.class);
- Set<String> extensions = new HashSet<String>();
+ static public interface AccessStatStorage {
+ /**
+ * @param ws service that ask stockage
+ * @param securityToken
+ * @param stat WikittyAccessStat wikitty
+ */
+ public void store(WikittyServiceAccessStat ws, String securityToken,
+ Collection<Wikitty> stats);
+ }
- public WikittyServiceAccessStat(ApplicationConfig config, WikittyService service) {
+ /** store access in wikitty */
+ static public class AccessStatStorageWikitty implements AccessStatStorage {
+ @Override
+ public void store(WikittyServiceAccessStat ws, String securityToken,
+ Collection<Wikitty> stats) {
+ ws.getDelegate().store(securityToken, stats, false);
+ }
+ }
+ /** store access via common-logging, you must configure it to store
+ "AccessStat" logger correctly for info level */
+ static public class AccessStatStorageLog implements AccessStatStorage {
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog("AccessStat");
+ @Override
+ public void store(WikittyServiceAccessStat ws, String securityToken,
+ Collection<Wikitty> stats) {
+ for(Wikitty w : stats) {
+ Date date = WikittyAccessStatHelper.getDate(w);
+ String token = WikittyAccessStatHelper.getToken(w);
+ String user = WikittyAccessStatHelper.getUser(w);
+ String restored = WikittyAccessStatHelper.getRestored(w);
+ log.info(String.format("[%1$tF %1$tT] in session '%s' user '%s' restore '%s'", date, token, user, restored));
+ }
+ }
+ }
+
+ protected AccessStatStorage statStorage;
+ protected Set<String> extensions = new HashSet<String>();
+
+ public WikittyServiceAccessStat(ApplicationConfig config, WikittyService service,
+ AccessStatStorage statStorage) {
super(service);
- List<String> exts = config.getOptionAsList(WikittyConfig.WikittyOption.
- WIKITTY_ACCESSSTAT_EXTENSIONS.getKey()).getOption();
- if (log.isInfoEnabled()) {
- log.info(String.format("Monitor access to extensions %s", exts));
+ this.statStorage = statStorage;
+ if (statStorage == null) {
+ log.warn("No AccessStatStorage available, access stat can't work");
+ } else {
+ // if no statStorage, make extensions to never call statStorage
+ List<String> exts = config.getOptionAsList(WikittyConfig.WikittyOption.
+ WIKITTY_ACCESSSTAT_EXTENSIONS.getKey()).getOption();
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Monitor access to extensions %s", exts));
+ }
+ extensions.addAll(exts);
}
- extensions.addAll(exts);
}
/**
@@ -123,6 +169,7 @@
}
WikittyAccessStatImpl stat = new WikittyAccessStatImpl();
+ stat.setDate(new Date());
stat.setToken(securityToken);
stat.setUser(user);
stat.setRestored(id);
@@ -131,7 +178,7 @@
}
}
- getDelegate().store(securityToken, stats, false);
+ statStorage.store(this, securityToken, stats);
}
@Override
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java 2010-12-10 18:03:19 UTC (rev 594)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/services/WikittyServiceSecurity.java 2010-12-10 18:05:38 UTC (rev 595)
@@ -29,6 +29,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -109,6 +110,7 @@
// force add extension to wikitty
WikittyTokenHelper.addExtension(wikittyToken);
WikittyTokenHelper.setUser(wikittyToken, user.getId());
+ WikittyTokenHelper.setDate(wikittyToken, new Date());
ws.store(null, Arrays.asList(wikittyToken), false);
log.debug(String.format("token '%s' is for login '%s'",
tokenId, login));
Modified: trunk/wikitty-api/src/main/xmi/wikitty.properties
===================================================================
--- trunk/wikitty-api/src/main/xmi/wikitty.properties 2010-12-10 18:03:19 UTC (rev 594)
+++ trunk/wikitty-api/src/main/xmi/wikitty.properties 2010-12-10 18:05:38 UTC (rev 595)
@@ -25,7 +25,7 @@
org.nuiton.wikitty.entities.WikittyAuthorisation.class.tagvalue.version=1.0
org.nuiton.wikitty.entities.WikittyGroup.class.tagvalue.version=1.0
org.nuiton.wikitty.entities.WikittyLabel.class.tagvalue.version=1.0
-org.nuiton.wikitty.entities.WikittyToken.class.tagvalue.version=1.0
+org.nuiton.wikitty.entities.WikittyToken.class.tagvalue.version=2.0
org.nuiton.wikitty.entities.WikittyTreeNode.class.tagvalue.version=2.0
org.nuiton.wikitty.entities.WikittyUser.class.tagvalue.version=1.0
org.nuiton.wikitty.entities.WikittyI18n.class.tagvalue.version=1.0
Modified: trunk/wikitty-api/src/main/xmi/wikitty.zargo
===================================================================
(Binary files differ)
1
0