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
August 2011
- 6 participants
- 125 discussions
r1115 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication/action resources
by mfortun@users.nuiton.org 09 Aug '11
by mfortun@users.nuiton.org 09 Aug '11
09 Aug '11
Author: mfortun
Date: 2011-08-09 12:24:08 +0200 (Tue, 09 Aug 2011)
New Revision: 1115
Url: http://nuiton.org/repositories/revision/wikitty/1115
Log:
*enable eval for wikittyPubData
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java
trunk/wikitty-publication/src/main/resources/struts.xml
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java 2011-08-09 09:28:04 UTC (rev 1114)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java 2011-08-09 10:24:08 UTC (rev 1115)
@@ -23,6 +23,8 @@
import org.nuiton.wikitty.publication.UiCodeDecorator;
import org.nuiton.wikitty.publication.WikittyPublicationConfig;
import org.nuiton.wikitty.publication.WikittyPublicationConstant;
+import org.nuiton.wikitty.publication.entities.WikittyPubData;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper;
import org.nuiton.wikitty.publication.entities.WikittyPubText;
import org.nuiton.wikitty.publication.entities.WikittyPubTextCompiled;
import org.nuiton.wikitty.publication.entities.WikittyPubTextCompiledHelper;
@@ -60,8 +62,7 @@
@Override
public String execute() throws Exception {
- inputStream = new ByteArrayInputStream(doAction(this,
- getMandatoryArguments()).toString().getBytes());
+ doAction(this,getMandatoryArguments());
return SUCCESS;
}
@@ -81,6 +82,19 @@
Wikitty w = proxy.findByCriteria(criteria);
if (w == null || !w.hasExtension(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
+
+ if (w.hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)){
+
+ contentType = WikittyPubDataHelper.getMimeType(w);
+ System.out.println(contentType);
+
+
+
+ inputStream = new ByteArrayInputStream(WikittyPubDataHelper
+ .getContent(w));
+ return WikittyPubDataHelper.getContent(w);
+ }
+
context.setContentType("text/plain");
result = String.format("no data found for criteria '%s'",
criteria);
@@ -172,6 +186,7 @@
}
}
+ inputStream = new ByteArrayInputStream(result.toString().getBytes());
return result;
}
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 09:28:04 UTC (rev 1114)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 10:24:08 UTC (rev 1115)
@@ -107,7 +107,7 @@
<param name="context">{1}</param>
<param name="args">{2}</param>
<result type="stream">
- <param name="contentType">${mimeType}</param>
+ <param name="contentType">${contentType}</param>
<param name="inputName">inputStream</param>
</result>
</action>
1
0
r1114 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication/action resources
by mfortun@users.nuiton.org 09 Aug '11
by mfortun@users.nuiton.org 09 Aug '11
09 Aug '11
Author: mfortun
Date: 2011-08-09 11:28:04 +0200 (Tue, 09 Aug 2011)
New Revision: 1114
Url: http://nuiton.org/repositories/revision/wikitty/1114
Log:
*correct mimetype content for eval and raw action
Note: if using struts with result type=stream, stream attribute name must be write without ${ } but not contentType param
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRaw.java
trunk/wikitty-publication/src/main/resources/struts.xml
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRaw.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRaw.java 2011-08-09 09:03:53 UTC (rev 1113)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRaw.java 2011-08-09 09:28:04 UTC (rev 1114)
@@ -36,12 +36,7 @@
@Override
public String execute() throws Exception {
- constructResult();
- return SUCCESS;
- }
- public void constructResult() {
-
List<String> argsString = new ArrayList<String>();
String args = ActionContext.getContext().getParameters().get(ARGS_KEY)
.toString();
@@ -73,10 +68,13 @@
} catch (Exception e) {
// TODO mfortun-2011-05-09 really handle exception
e.printStackTrace();
+
}
-
+
+ return SUCCESS;
}
+
public String getMimeType() {
return mimeType;
}
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 09:03:53 UTC (rev 1113)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 09:28:04 UTC (rev 1114)
@@ -97,7 +97,7 @@
<param name="context">{1}</param>
<param name="args">{2}</param>
<result type="stream">
- <param name="contentType">mimeType</param>
+ <param name="contentType">${mimeType}</param>
<param name="inputName">inputStream</param>
</result>
</action>
@@ -107,7 +107,7 @@
<param name="context">{1}</param>
<param name="args">{2}</param>
<result type="stream">
- <param name="contentType">mimeType</param>
+ <param name="contentType">${mimeType}</param>
<param name="inputName">inputStream</param>
</result>
</action>
1
0
r1113 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication/action webapp/WEB-INF/jsp
by mfortun@users.nuiton.org 09 Aug '11
by mfortun@users.nuiton.org 09 Aug '11
09 Aug '11
Author: mfortun
Date: 2011-08-09 11:03:53 +0200 (Tue, 09 Aug 2011)
New Revision: 1113
Url: http://nuiton.org/repositories/revision/wikitty/1113
Log:
*repare view page
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java 2011-08-09 08:33:30 UTC (rev 1112)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java 2011-08-09 09:03:53 UTC (rev 1113)
@@ -1,6 +1,11 @@
package org.nuiton.wikitty.publication.action;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.publication.WikittyPublicationProxy;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.search.Search;
@@ -104,7 +109,21 @@
@Override
public String execute() throws Exception {
+ List<String> argsString = new ArrayList<String>();
+ String args = ActionContext.getContext().getParameters().get(ARGS_KEY)
+ .toString();
+ String[] argsTab = StringUtil.split(args, SEPARATOR);
+ for (String arg : argsTab) {
+ argsString.add(arg);
+ }
+
+ Criteria criteriaWikitty = searchCriteria(argsString);
+
+ WikittyPublicationProxy proxy = getWikittyPublicationProxy();
+
+ wikittyResult = proxy.findByCriteria(criteriaWikitty);
+
int delta = end - first;
/*
* if first=1 and end=5 so next values will be first=6 and end=10
@@ -132,7 +151,7 @@
searchRequest = "*";
}
- wikittyResult = getWikittyPublicationProxy().restore(id);
+ //wikittyResult = getWikittyPublicationProxy().restore(id);
// search wikitties
Criteria criteria = Search.query().keyword(searchRequest).criteria();
Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-09 08:33:30 UTC (rev 1112)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-09 09:03:53 UTC (rev 1113)
@@ -112,7 +112,7 @@
href="${urleval}">Eval</a>
<!-- <a id="ajaxlink_<%=i%>" href="javascript:void(0)">View</a> -->
- <s:url var="urlFragment" action="/fragment/wikittyInfo">
+ <s:url var="urlFragment" action="wikittyInfo" namespace="/fragment">
<s:param name="id"><%=w.getId()%></s:param>
</s:url>
1
0
r1112 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication java/org/nuiton/wikitty/publication/action java/org/nuiton/wikitty/publication/externalize resources
by mfortun@users.nuiton.org 09 Aug '11
by mfortun@users.nuiton.org 09 Aug '11
09 Aug '11
Author: mfortun
Date: 2011-08-09 10:33:30 +0200 (Tue, 09 Aug 2011)
New Revision: 1112
Url: http://nuiton.org/repositories/revision/wikitty/1112
Log:
*change how fallback service is load from property file
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java 2011-08-08 12:28:44 UTC (rev 1111)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java 2011-08-09 08:33:30 UTC (rev 1112)
@@ -7,6 +7,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyServiceFactory;
import org.nuiton.wikitty.entities.Wikitty;
@@ -19,14 +20,28 @@
import org.nuiton.wikitty.services.WikittyListener;
/**
- * class meant to handle multicontext for wikitty publication.
+ * class meant to handle multicontext for wikitty publication. If want to use
+ * this, you must declare in your properties file the WIKITTY_FALLBACK_FILE_KEY
+ * property that declare the name of the property file needed to initialize
+ * fallbackService
*
* @author mfortun
*
*/
public class WikittyPublicationFallbackService implements WikittyService {
- static public String WIKITTY_FALLBACK_PREFIX_KEY = "wikitty.fallback.prefix";
+ /**
+ * property that define the name of the property file needed to initialize
+ * fallback service
+ * */
+ static public String WIKITTY_FALLBACK_FILE_KEY = "wikitty.fallback.file";
+
+ /**
+ * property flag to know if copy property from the main appconfig and
+ * overide them with the content of the fallback property file or just tak
+ * it as standalone
+ */
+ static public String WIKITTY_FALLBACK_OVERRIDE="wikitty.fallback.override";
static private Log log = LogFactory.getLog(WikittyPublicationFallbackService.class);
@@ -34,12 +49,23 @@
protected WikittyService fallbackService;
public WikittyPublicationFallbackService(WikittyService serv,
- ApplicationConfig config) {
+ ApplicationConfig config) throws ArgumentsParserException {
this.mainService = serv;
if(config != null){
- fallbackService = WikittyServiceFactory.buildWikittyService(config,
- "wikitty." + config.getOption(WIKITTY_FALLBACK_PREFIX_KEY)+".");
-
+ boolean isOverriding = config.getOptionAsBoolean(WIKITTY_FALLBACK_OVERRIDE);
+ String fileName = config.getOption(WIKITTY_FALLBACK_FILE_KEY);
+
+ if (fileName!=null){
+ ApplicationConfig confFallBack=null;
+ if (isOverriding){
+ confFallBack= new ApplicationConfig(null, null,config.getFlatOptions(), fileName);
+
+ }else{
+ confFallBack= new ApplicationConfig(fileName);
+ }
+ confFallBack.parse(null);
+ fallbackService = WikittyServiceFactory.buildWikittyService(confFallBack);
+ }
}
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java 2011-08-08 12:28:44 UTC (rev 1111)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java 2011-08-09 08:33:30 UTC (rev 1112)
@@ -164,6 +164,8 @@
bindings.put(WikittyPublicationConstant.WIKITTY_VAR, w);
bindings.put(WikittyPublicationConstant.EVAL_VAR, this);
+ // TODO mfortun-2011-08-08 construire un class path avec
+ // des jar et les classes contenu dans wikitty publication
result = ScriptEvaluator.eval(null, criteria.getName(),
content, mimetype, bindings);
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-08 12:28:44 UTC (rev 1111)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-09 08:33:30 UTC (rev 1112)
@@ -66,6 +66,15 @@
*
* }
*/
+
+ /*
+ *
+ * Possible d'uploader un diagramme uml
+ * le mettre dedans un wikittypubdata
+ * et généré le jar avec les sources en fonction de ce modèle
+ *
+ * On saura que c'est un modèle grace au mime type
+ */
public WikittyServiceJarLoader(ApplicationConfig config) {
try {
Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-08 12:28:44 UTC (rev 1111)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-09 08:33:30 UTC (rev 1112)
@@ -58,7 +58,6 @@
wikitty.WikittyServiceAccessStat.components=\
org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageLog
-wikitty.fallback.prefix = prefix
-wikitty.prefix.WikittyService.components=org.nuiton.wikitty.publication.externalize.WikittyServiceJarLoader
-wikitty.publication.repository.jar=/home/Manou/testWP/pub-externalized.jar
+wikitty.fallback.file=wikitty-publication-ws-jar.properties
+wikitty.fallback.override=false
1
0
r1111 - in trunk: . wikitty-publication wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action wikitty-publication/src/main/resources wikitty-publication/src/main/resources/i18n wikitty-publication/src/main/webapp/WEB-INF/jsp
by mfortun@users.nuiton.org 08 Aug '11
by mfortun@users.nuiton.org 08 Aug '11
08 Aug '11
Author: mfortun
Date: 2011-08-08 14:28:44 +0200 (Mon, 08 Aug 2011)
New Revision: 1111
Url: http://nuiton.org/repositories/revision/wikitty/1111
Log:
*correct dependency for logging
*include i18N
Added:
trunk/wikitty-publication/src/main/resources/log4j.properties
Modified:
trunk/pom.xml
trunk/wikitty-publication/pom.xml
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java
trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties
trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/pom.xml 2011-08-08 12:28:44 UTC (rev 1111)
@@ -193,6 +193,12 @@
<scope>compile</scope>
</dependency>
+ <dependency>
+ <groupId>org.nuiton.processor</groupId>
+ <artifactId>nuiton-processor</artifactId>
+ <version>${nuitonProcessessorVersion}</version>
+ </dependency>
+
<dependency>
<groupId>xpp3</groupId>
<artifactId>xpp3</artifactId>
@@ -553,7 +559,8 @@
<struts2Version>2.2.3</struts2Version>
<javassistVersion>3.8.0.GA</javassistVersion>
<jspapiversion>2.1</jspapiversion>
-
+
+ <nuitonProcessessorVersion>1.2.2-SNAPSHOT</nuitonProcessessorVersion>
<nuiton-struts2>1.3</nuiton-struts2>
<!--Multilanguage maven-site -->
<locales>fr,en</locales>
Modified: trunk/wikitty-publication/pom.xml
===================================================================
--- trunk/wikitty-publication/pom.xml 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/wikitty-publication/pom.xml 2011-08-08 12:28:44 UTC (rev 1111)
@@ -118,10 +118,26 @@
<dependency>
<groupId>org.nuiton.processor</groupId>
- <artifactId>nuiton-processor</artifactId>
- <version>1.2.2-SNAPSHOT</version>
+ <artifactId>nuiton-processor</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
+
</dependencies>
<!-- ************************************************************* -->
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java 2011-08-08 12:28:44 UTC (rev 1111)
@@ -3,6 +3,7 @@
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
+import org.nuiton.web.struts2.BaseAction;
import org.nuiton.wikitty.publication.WikittyPublicationProxy;
import org.nuiton.wikitty.publication.WikittyPublicationSession;
import org.nuiton.wikitty.publication.entities.WikittyPubData;
@@ -10,8 +11,8 @@
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.Search;
import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.ActionSupport;
+
/**
* Base action that wikitty publication will extend, needed to work within a
* struts architecture.
@@ -19,7 +20,7 @@
* @author mfortun
*
*/
-public class PublicationBaseAction extends ActionSupport implements
+public class PublicationBaseAction extends BaseAction implements
SessionAware {
/**
@@ -38,6 +39,8 @@
static public String ARGS_KEY = "args";
protected Map<String, Object> session;
+
+
public WikittyPublicationSession getWikittyPublicationSession() {
WikittyPublicationSession result = WikittyPublicationSession
Modified: trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties 2011-08-08 12:28:44 UTC (rev 1111)
@@ -1,3 +1,6 @@
+publication.edit.addExtension=addExtension
+publication.edit.delete=Delete
+publication.edit.save=Save
publication.login.login=User
publication.login.password=Password
publication.login.repeatPassword=Password
@@ -2,2 +5,7 @@
publication.register.submit=Subscribe
-wikitty-publication.config.configFileName.description=
+publication.view.founds=Wikitty Aviables
+publication.view.next=Next
+publication.view.previous=Previous
+publication.view.search=Search
+publication.view.title=Wikitty View
+wikitty-publication.config.configFileName.description=Default wikitty publication config
Modified: trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties 2011-08-08 12:28:44 UTC (rev 1111)
@@ -1,5 +1,14 @@
+publication.edit.addExtension=Ajouter Extension
+publication.edit.delete=Suppression
+publication.edit.save=Sauvegarde
publication.login.login=Utilisateur
publication.login.password=Mot de passe
publication.login.repeatPassword=Mot de passe
+publication.login.submit=login
publication.register.submit=Inscription
-wikitty-publication.config.configFileName.description=
+publication.view.founds=Wikitty Trouvés
+publication.view.next=Suivant
+publication.view.previous=Précédent
+publication.view.search=Recherche
+publication.view.title=Vue des wikitty
+wikitty-publication.config.configFileName.description=Fichier de configuration pat défault de wikitty Publication
Added: trunk/wikitty-publication/src/main/resources/log4j.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/log4j.properties (rev 0)
+++ trunk/wikitty-publication/src/main/resources/log4j.properties 2011-08-08 12:28:44 UTC (rev 1111)
@@ -0,0 +1,12 @@
+# Global logging configuration
+log4j.rootLogger=FATAL, stdout
+
+# Console output...
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %5p [%t] (%F:%L) %M - %m%n
+
+# package level
+log4j.logger.org.nuiton.wikitty.publication=DEBUG
+#log4j.logger.org.nuiton.util.TimeLog=WARN
+log4j.logger.org.apache.struts2.dispatcher.mapper=DEBUG
Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-08-08 12:28:44 UTC (rev 1111)
@@ -120,7 +120,7 @@
}
%>
- <input type="submit" name="addExtension" value="<%=I18n._("publication.edit.addExtension")%>" />
+ <input type="submit" name="addExtension" value="<%=action.getText("publication.edit.addExtension")%>" />
</fieldset>
<%
@@ -217,7 +217,7 @@
}
%>
- <input type="submit" name="store" value="<%=I18n._("publication.edit.save")%>" />
- <input type="submit" name="delete" value="<%=I18n._("publication.edit.delete")%>" />
+ <input type="submit" name="store" value="<%=action.getText("publication.edit.save") %>" />
+ <input type="submit" name="delete" value="<%=action.getText("publication.edit.delete") %>" />
</form>
\ No newline at end of file
Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-05 16:06:49 UTC (rev 1110)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-08 12:28:44 UTC (rev 1111)
@@ -43,8 +43,6 @@
<%@taglib prefix="sj" uri="/struts-jquery-tags"%>
<sj:head jquerytheme="default"/>
-<h1>Wikitty View</h1>
-
<%
WikittyPublicationSession wpSession = WikittyPublicationSession
.getWikittyPublicationSession(session);
@@ -56,6 +54,11 @@
if (wikit != null) {
%>
+
+
+<h1><%=action.getText("publication.view.title") %></h1>
+
+
<pre><%=StringEscapeUtils.escapeHtml(String
.valueOf(wikit))%></pre>
<%
@@ -77,9 +80,9 @@
</div>
<s:textfield label="First" key="first" name="first" />
<s:textfield label="End" key="end" name="end" />
- <input type="submit" name="search" value="Search" />
+ <input type="submit" name="search" value="<%=action.getText("publication.view.search") %>" />
- <pre> Wikitty Aviable: <%=action.getPagedResult().getNumFound()%></pre>
+ <pre> <%=action.getText("publication.view.founds") %>: <%=action.getPagedResult().getNumFound()%></pre>
<br/>
@@ -130,8 +133,9 @@
</table>
- <input type="submit" name="previous" value="previous" /> <input
- type="submit" name="next" value="next" />
+ <input type="submit" name="previous" value="
+ <%=action.getText("publication.view.previous") %>" /> <input
+ type="submit" name="next" value="<%=action.getText("publication.view.next") %>" />
</form>
1
0
Author: mfortun
Date: 2011-08-05 18:06:49 +0200 (Fri, 05 Aug 2011)
New Revision: 1110
Url: http://nuiton.org/repositories/revision/wikitty/1110
Log:
*correct mimetype handling for java/compilable wikittypubtextcontent
*i18n introduction
Added:
trunk/wikitty-publication/src/main/i18n/
trunk/wikitty-publication/src/main/i18n/jsp.rules
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ApplicationListener.java
trunk/wikitty-publication/src/main/resources/i18n/
trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties
trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties
Modified:
trunk/pom.xml
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java
trunk/wikitty-publication/pom.xml
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/UiCodeDecorator.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationConfig.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/AbstractDecoredClass.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
trunk/wikitty-publication/src/main/resources/struts.properties
trunk/wikitty-publication/src/main/resources/struts.xml
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp
trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml
trunk/wikitty-publication/src/main/webapp/login.jsp
trunk/wikitty-publication/src/main/webapp/register.jsp
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/pom.xml 2011-08-05 16:06:49 UTC (rev 1110)
@@ -178,6 +178,13 @@
<version>${nuitonUtilsVersion}</version>
<scope>compile</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.nuiton.web</groupId>
+ <artifactId>nuiton-struts2</artifactId>
+ <version>${nuiton-struts2}</version>
+ </dependency>
+
<dependency>
<groupId>org.nuiton.i18n</groupId>
@@ -539,7 +546,7 @@
<!-- common versions used in sub-poms -->
<eugeneVersion>2.3.5</eugeneVersion>
<nuitonUtilsVersion>2.2</nuitonUtilsVersion>
- <nuitonI18nVersion>2.4</nuitonI18nVersion>
+ <nuitonI18nVersion>2.4.1</nuitonI18nVersion>
<processPluginVersion>1.1</processPluginVersion>
<jettyVersion>7.4.2.v20110526</jettyVersion>
<struts2jqueryVersion>3.1.0</struts2jqueryVersion>
@@ -547,6 +554,7 @@
<javassistVersion>3.8.0.GA</javassistVersion>
<jspapiversion>2.1</jspapiversion>
+ <nuiton-struts2>1.3</nuiton-struts2>
<!--Multilanguage maven-site -->
<locales>fr,en</locales>
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceFactory.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -122,7 +122,7 @@
String prefix, Class clazz) {
String key = prefix + clazz.getSimpleName() + ".components";
-
+
// 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();
Modified: trunk/wikitty-publication/pom.xml
===================================================================
--- trunk/wikitty-publication/pom.xml 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/pom.xml 2011-08-05 16:06:49 UTC (rev 1110)
@@ -16,6 +16,10 @@
<groupId>org.nuiton.wikitty</groupId>
<artifactId>wikitty-publication</artifactId>
+
+ <properties>
+ <i18n.bundleOutputName>wikitty-publication</i18n.bundleOutputName>
+ </properties>
<dependencies>
<dependency>
@@ -105,9 +109,14 @@
<dependency>
<groupId>org.apache.struts.xwork</groupId>
<artifactId>xwork-core</artifactId>
- </dependency>
-
+ </dependency>
+
<dependency>
+ <groupId>org.nuiton.web</groupId>
+ <artifactId>nuiton-struts2</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.nuiton.processor</groupId>
<artifactId>nuiton-processor</artifactId>
<version>1.2.2-SNAPSHOT</version>
@@ -147,6 +156,49 @@
<plugins>
<plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <version>${nuitonI18nVersion}</version>
+ <configuration>
+ <bundles>fr_FR,en_GB</bundles>
+ </configuration>
+ <executions>
+ <execution>
+ <id>scan-java-sources</id>
+ <goals>
+ <goal>parserJava</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>scan-jsp-sources</id>
+ <goals>
+ <goal>parserJsp</goal>
+ </goals>
+ <configuration>
+ <userRulesFiles>
+ <file>${basedir}/src/main/i18n/jsp.rules</file>
+ </userRulesFiles>
+ <namespaces>
+ <s>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</s>
+ <sx>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</sx>
+ <sj>http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</sj>
+ <jsp>http://java.sun.com/JSP/Page</jsp>
+ </namespaces>
+ </configuration>
+ </execution>
+ <execution>
+ <id>gen-and-make-bundle</id>
+ <goals>
+ <goal>gen</goal>
+ <goal>bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+
+
+ <plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>maven-eugene-plugin</artifactId>
<executions>
Added: trunk/wikitty-publication/src/main/i18n/jsp.rules
===================================================================
--- trunk/wikitty-publication/src/main/i18n/jsp.rules (rev 0)
+++ trunk/wikitty-publication/src/main/i18n/jsp.rules 2011-08-05 16:06:49 UTC (rev 1110)
@@ -0,0 +1,14 @@
+# Règles i18n pour les jsp
+
+//s:text/@name
+//s:submit/@key
+//sj:submit/@key
+//s:textfield/@key
+//s:checkbox/@key
+//s:password/@key
+//s:file/@key
+//s:label/@key
+//s:optiontransferselect/@key
+//s:select/@key
+//sj:head/@key
+//s:if/@key
\ No newline at end of file
Added: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ApplicationListener.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ApplicationListener.java (rev 0)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/ApplicationListener.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -0,0 +1,40 @@
+package org.nuiton.wikitty.publication;
+
+import java.util.Locale;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.i18n.I18n;
+import org.nuiton.i18n.init.DefaultI18nInitializer;
+import org.nuiton.i18n.init.I18nInitializer;
+
+public class ApplicationListener implements ServletContextListener {
+
+ private static final Log log = LogFactory.getLog(ApplicationListener.class);
+
+ @Override
+ public void contextInitialized(ServletContextEvent sce) {
+
+
+ if (log.isInfoEnabled()) {
+ log.info("Initializing I18n...");
+ }
+
+ I18nInitializer initializer = new DefaultI18nInitializer(
+ "wikitty-publication");
+
+ initializer.setMissingKeyReturnNull(true);
+
+ I18n.init(initializer, Locale.FRENCH);
+
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent sce) {
+
+ }
+
+}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -10,9 +10,7 @@
protected String closingWriterChar;
protected String closingTemplate;
protected String mimeType;
-
-
-
+
public String getMimeType() {
return mimeType;
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -25,6 +25,8 @@
package org.nuiton.wikitty.publication;
import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
import java.util.Map;
import javax.script.ScriptEngineManager;
@@ -45,6 +47,9 @@
* Mapping between extention and mime type, key: extension, value: mimeType
*/
protected Map<String, String> mapExtensionMime;
+ // TODO mfortun-2011-08-05 change this, this is a hack
+ // change this to a handler to have specific langage compiler as jython etc
+ protected List<String> compilable;
protected ScriptEngineManager manager;
protected UiCodeDecorator decorator;
@@ -56,13 +61,17 @@
public MimeTypePubHelper() {
this.mapExtensionMime = new HashMap<String, String>();
decorator = new UiCodeDecorator();
+ this.compilable = new LinkedList<String>();
manager = ScriptEvaluator.getScriptEnginManager(null);
mapExtensionMime.put("wp", "application/javascript");
mapExtensionMime.put("js", "application/javascript");
+ mapExtensionMime.put("htmlp", "htmlp/javascript");
mapExtensionMime.put("jpg", "image/jpeg");
mapExtensionMime.put("png", "image/png");
+ mapExtensionMime.put("java", "application/java");
+ compilable.add("application/java");
}
public Map<String, String> getMapExtensionMime() {
@@ -140,4 +149,8 @@
}
+ public boolean isReallyCompilable(String mimeType){
+ return compilable.contains(mimeType);
+ }
+
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/UiCodeDecorator.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/UiCodeDecorator.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/UiCodeDecorator.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -52,7 +52,6 @@
-
}
public UiCodeDecorator() {
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationConfig.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationConfig.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationConfig.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -54,7 +54,7 @@
public enum Option implements ApplicationConfig.OptionDef {
CONFIG_FILE(ApplicationConfig.CONFIG_FILE_NAME,
_("wikitty-publication.config.configFileName.description"),
- "wikitty-publication-ws-default.properties", String.class, false,
+ "wikitty-publication-ws-fallback.properties", String.class, false,
false);
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/AbstractDecoredClass.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/AbstractDecoredClass.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/AbstractDecoredClass.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -16,7 +16,7 @@
*/
public abstract class AbstractDecoredClass {
-
+
public abstract Object eval(Map<String, Object> bindings) throws Exception ;
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-05 16:06:49 UTC (rev 1110)
@@ -17,6 +17,7 @@
import org.nuiton.wikitty.entities.Wikitty;
import org.nuiton.wikitty.entities.WikittyLabel;
import org.nuiton.wikitty.entities.WikittyLabelHelper;
+import org.nuiton.wikitty.publication.MimeTypePubHelper;
import org.nuiton.wikitty.publication.PropertiesExtended;
import org.nuiton.wikitty.publication.UiCodeDecorator;
import org.nuiton.wikitty.publication.WikittyFileUtil;
@@ -253,6 +254,7 @@
*/
public static String getCode(Wikitty wikitty) {
+ MimeTypePubHelper mimeHelper = new MimeTypePubHelper();
UiCodeDecorator uidecDecorator = new UiCodeDecorator();
if (uidecDecorator.isTransformationNeeded(wikitty)) {
try {
@@ -288,7 +290,7 @@
// TODO mfortun-2011-07-08 write a better "filter" must isolate specific
// mime type that correspond to precompilable langague
- if (mimeType != "java") {
+ if (!mimeHelper.isReallyCompilable(mimeType)) {
classContent += "Object result = null;";
classContent += "String content = \""
+ StringEscapeUtils.escapeJava(content) + "\";";
Added: trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties (rev 0)
+++ trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_en_GB.properties 2011-08-05 16:06:49 UTC (rev 1110)
@@ -0,0 +1,5 @@
+publication.login.login=User
+publication.login.password=Password
+publication.login.repeatPassword=Password
+publication.register.submit=Subscribe
+wikitty-publication.config.configFileName.description=
Added: trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties (rev 0)
+++ trunk/wikitty-publication/src/main/resources/i18n/wikitty-publication_fr_FR.properties 2011-08-05 16:06:49 UTC (rev 1110)
@@ -0,0 +1,5 @@
+publication.login.login=Utilisateur
+publication.login.password=Mot de passe
+publication.login.repeatPassword=Mot de passe
+publication.register.submit=Inscription
+wikitty-publication.config.configFileName.description=
Modified: trunk/wikitty-publication/src/main/resources/struts.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.properties 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/resources/struts.properties 2011-08-05 16:06:49 UTC (rev 1110)
@@ -39,7 +39,7 @@
struts.url.http.port=80
struts.url.https.port=443
-struts.custom.i18n.resources=chorem-i18n
+struts.custom.i18n.resources=wikittypublication-i18n
struts.dispatcher.parametersWorkaround=false
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-05 16:06:49 UTC (rev 1110)
@@ -4,7 +4,12 @@
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
+ <bean class="org.nuiton.web.struts2.I18nTextProvider" name="i18nTextProvider"
+ type="com.opensymphony.xwork2.TextProvider" />
+ <constant name="struts.xworkTextProvider" value="i18nTextProvider" />
+
+
<constant name="struts.devMode" value="true" />
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />
<constant name="struts.enable.SlashesInActionNames" value="true" />
@@ -15,7 +20,7 @@
<interceptors>
<interceptor-stack name="publicAreaStack">
<interceptor-ref name="defaultStack">
- <param name="fileUpload.maximumSize">104857600</param>
+ <param name="fileUpload.maximumSize">104857600</param>
</interceptor-ref>
</interceptor-stack>
</interceptors>
@@ -109,9 +114,10 @@
</package>
<package name="fragment" namespace="/fragment" extends="publicArea">
- <action name="wikittyInfo" class="org.nuiton.wikitty.publication.action.PublicationActionRestoreWikitty">
+ <action name="wikittyInfo"
+ class="org.nuiton.wikitty.publication.action.PublicationActionRestoreWikitty">
<result>/WEB-INF/jsp/wikittyInfo.jsp</result>
</action>
</package>
-
+
</struts>
Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-08-05 16:06:49 UTC (rev 1110)
@@ -28,6 +28,7 @@
Author : poussin
--%>
+<%@page import="org.nuiton.i18n.I18n"%>
<%@page import="org.nuiton.wikitty.publication.CodeMirrorWrapper"%>
<%@page import="org.nuiton.wikitty.publication.SelectOption"%>
<%@page import="org.nuiton.wikitty.publication.action.PublicationActionEdit"%>
@@ -45,6 +46,7 @@
PublicationActionEdit action = PublicationActionEdit.getAction();
Wikitty wikitty = action.getWikitty();
+I18n.init(null, null);
CodeMirrorWrapper wrapper = new CodeMirrorWrapper(request.getContextPath(),"/js/codemirror-ui/", "lib/CodeMirror-2.0/mode");
@@ -100,6 +102,7 @@
Collection<String> allExt = proxy.getAllExtensionIds();
if (allExt != null && allExt.size() > 0) {
%>
+
<select name="newExtension" size="1">
<option value="" selected="true"></option>
<%
@@ -116,7 +119,8 @@
<%
}
%>
- <input type="submit" name="addExtension" value="Add" />
+
+ <input type="submit" name="addExtension" value="<%=I18n._("publication.edit.addExtension")%>" />
</fieldset>
<%
@@ -212,7 +216,8 @@
<%
}
%>
- <input type="submit" name="store" value="Store" />
- <input type="submit" name="delete" value="Delete" />
+
+ <input type="submit" name="store" value="<%=I18n._("publication.edit.save")%>" />
+ <input type="submit" name="delete" value="<%=I18n._("publication.edit.delete")%>" />
</form>
\ No newline at end of file
Modified: trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/web.xml 2011-08-05 16:06:49 UTC (rev 1110)
@@ -21,6 +21,12 @@
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
+
+ <listener>
+ <description>Init</description>
+ <listener-class>org.nuiton.wikitty.publication.ApplicationListener</listener-class>
+ </listener>
+
<filter-mapping>
<filter-name>action2-cleanup</filter-name>
@@ -35,14 +41,16 @@
<url-pattern>/*</url-pattern>
</filter-mapping>
- <!-- Servlets -->
+
+
<!-- Welcome file lists -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
+
</web-app>
\ No newline at end of file
Modified: trunk/wikitty-publication/src/main/webapp/login.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/login.jsp 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/webapp/login.jsp 2011-08-05 16:06:49 UTC (rev 1110)
@@ -25,14 +25,25 @@
<s:form action="login">
<p>
+ <s:set id="publication.login.login">
+ <s:text name="publication.login.login" />
+ </s:set>
+ <s:set id="publication.login.password">
+ <s:text name="publication.login.password" />
+ </s:set>
+ <s:set id="publication.login.submit">
+ <s:text name="publication.login.submit" />
+ </s:set>
+
<input type="hidden" name="success" value="<%=successValue%>" /> <input
type="hidden" name="error" value="<%=errorValue%>" />
<s:textfield key="login" name="login" labelposition="top"
- labelSeparator=" :" />
+ labelSeparator=" :" label="%{publication.login.login}" />
<br /> <br />
<s:password key="password" name="password" labelposition="top"
- labelSeparator=" :" />
+ labelSeparator=" :" label="%{publication.login.password}" />
<br /> <br />
- <s:submit key="publication.login.submit" name="submit" />
+ <s:submit key="publication.login.submit" name="submit"
+ value="%{publication.login.submit}" />
</p>
</s:form>
\ No newline at end of file
Modified: trunk/wikitty-publication/src/main/webapp/register.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/register.jsp 2011-08-04 14:16:32 UTC (rev 1109)
+++ trunk/wikitty-publication/src/main/webapp/register.jsp 2011-08-05 16:06:49 UTC (rev 1110)
@@ -8,13 +8,30 @@
<s:form action="register">
<s:actionerror />
<p>
+ <s:set id="publication.login.login">
+ <s:text name="publication.login.login" />
+ </s:set>
+ <s:set id="publication.login.password">
+ <s:text name="publication.login.password" />
+ </s:set>
+ <s:set id="publication.login.repeatPassword">
+ <s:text name="publication.login.repeatPassword" />
+ </s:set>
+ <s:set id="publication.register.submit">
+ <s:text name="publication.register.submit" />
+ </s:set>
+
<s:textfield key="publication.login.login" name="login"
- labelposition="top" labelSeparator=" :" />
+ label="%{publication.login.login}" labelposition="top"
+ labelSeparator=" :" />
<s:password key="publication.login.password" name="password"
+ label="%{publication.login.password}" labelposition="top"
+ labelSeparator=" :" />
+ <s:password key="publication.login.repeatPassword"
+ label="%{publication.login.repeatPassword}" name="repeatPassword"
labelposition="top" labelSeparator=" :" />
- <s:password key="publication.login.repeatPassword"
- name="repeatPassword" labelposition="top" labelSeparator=" :" />
- <s:submit key="publication.register.submit" name="submit" />
+ <s:submit key="publication.register.submit" name="submit"
+ value="%{publication.register.submit}" />
</p>
</s:form>
<s:a action="login_input" id="loginLink">
1
0
r1109 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication java/org/nuiton/wikitty/publication/action java/org/nuiton/wikitty/publication/externalize resources
by mfortun@users.nuiton.org 04 Aug '11
by mfortun@users.nuiton.org 04 Aug '11
04 Aug '11
Author: mfortun
Date: 2011-08-04 16:16:32 +0200 (Thu, 04 Aug 2011)
New Revision: 1109
Url: http://nuiton.org/repositories/revision/wikitty/1109
Log:
*Correction for fallBackService
*Properties to use fallback with classic service and jarloader
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEdit.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
trunk/wikitty-publication/src/main/resources/struts.xml
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java 2011-08-04 09:52:22 UTC (rev 1108)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java 2011-08-04 14:16:32 UTC (rev 1109)
@@ -38,7 +38,8 @@
this.mainService = serv;
if(config != null){
fallbackService = WikittyServiceFactory.buildWikittyService(config,
- "wikitty." + config.getOption(WIKITTY_FALLBACK_PREFIX_KEY));
+ "wikitty." + config.getOption(WIKITTY_FALLBACK_PREFIX_KEY)+".");
+
}
}
@@ -183,8 +184,11 @@
public WikittyExtension restoreExtensionLastVersion(String securityToken,
String name) {
+
WikittyExtension result = mainService.restoreExtensionLastVersion(
securityToken, name);
+
+
if (isFallBack() && result == null) {
result = fallbackService.restoreExtensionLastVersion(securityToken,
name);
@@ -298,8 +302,16 @@
* in the fall back that aren't in the 11 first wikitty
* of the main service
*/
+ // remove null from the first result
+ List<String> fromMainWithoutNull= new LinkedList<String>();
+ for(String st :currentResult.getAll()){
+ if (st!=null){
+ fromMainWithoutNull.add(st);
+ }
+ }
+
Criteria excluding = idNotInCriteriaConstructor(
- critFallback, currentResult.getAll());
+ critFallback,fromMainWithoutNull );
excluding.setEndIndex(resultSizeExpected
- result.size());
@@ -312,11 +324,10 @@
tempExcludingCriteriaList).get(0);
List<String> allresult = new LinkedList<String>();
- allresult.addAll(currentResult.getAll());
+ allresult.addAll(fromMainWithoutNull);
allresult.addAll(resultFallback.getAll());
- System.out.println(allresult.size());
- int number = currentResult.getNumFound()
+ int number = fromMainWithoutNull.size()
+ resultFallback.getNumFound();
// rebuilt the result
@@ -338,9 +349,17 @@
public List<String> findByCriteria(String securityToken,
List<Criteria> criteria) {
-
+
+
List<String> result = new LinkedList<String>();
- result.addAll(mainService.findByCriteria(securityToken, criteria));
+ List<String> tempFromMain = mainService.findByCriteria(securityToken,
+ criteria);
+ // remove null element from result
+ for (String st : tempFromMain) {
+ if (st != null) {
+ result.add(st);
+ }
+ }
if (isFallBack()) {
@@ -351,7 +370,7 @@
// merge list
List<String> resultFallback = new LinkedList<String>();
- resultFallback.addAll(findByCriteria(securityToken, criteria));
+ resultFallback.addAll(fallbackService.findByCriteria(securityToken, criteria));
// this allow to element from main to prevail
resultFallback.removeAll(result);
@@ -359,6 +378,10 @@
}
}
+ if (result.size()==0){
+ result.add(null);
+ }
+
return result;
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEdit.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEdit.java 2011-08-04 09:52:22 UTC (rev 1108)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEdit.java 2011-08-04 14:16:32 UTC (rev 1109)
@@ -60,10 +60,15 @@
@Override
public String execute() throws Exception {
+
+
proxy = getWikittyPublicationProxy();
Map<String, Object> param = ActionContext.getContext().getParameters();
this.formatArgs(param);
+
+
+
isDelete = param.containsKey("delete");
isStore = param.containsKey("store");
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-04 09:52:22 UTC (rev 1108)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-04 14:16:32 UTC (rev 1109)
@@ -233,10 +233,24 @@
@Override
public WikittyExtension restoreExtensionLastVersion(String securityToken,
String name) {
- // TODO mfortun
- throw new UnsupportedOperationException("not yet implemented");
- // return null;
+ if (name.equals(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
+ return WikittyPubTextImpl.extensionWikittyPubText;
+ }
+
+ if (name.equals(WikittyPubTextCompiled.EXT_WIKITTYPUBTEXTCOMPILED)) {
+ return WikittyPubTextCompiledImpl.extensionWikittyPubTextCompiled;
+ }
+
+ if (name.equals(WikittyPubData.EXT_WIKITTYPUBDATA)) {
+ return WikittyPubDataImpl.extensionWikittyPubData;
+ }
+
+ if (name.equals(WikittyLabel.EXT_WIKITTYLABEL)) {
+ return WikittyLabelImpl.extensionWikittyLabel;
+ }
+
+ return null;
}
@Override
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-04 09:52:22 UTC (rev 1108)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-04 14:16:32 UTC (rev 1109)
@@ -71,7 +71,7 @@
</package>
<!-- Action aviable only to logged user extends="restrictedArea" -->
- <package name="publication" extends="restrictedArea">
+ <package name="publication" extends="publicArea">
<action name="*/edit/*"
class="org.nuiton.wikitty.publication.action.PublicationActionEdit">
@@ -108,7 +108,7 @@
</action>
</package>
- <package name="fragment" namespace="/fragment" extends="restrictedArea">
+ <package name="fragment" namespace="/fragment" extends="publicArea">
<action name="wikittyInfo" class="org.nuiton.wikitty.publication.action.PublicationActionRestoreWikitty">
<result>/WEB-INF/jsp/wikittyInfo.jsp</result>
</action>
Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-04 09:52:22 UTC (rev 1108)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-04 14:16:32 UTC (rev 1109)
@@ -23,8 +23,8 @@
# #L%
###
-wikitty.data.directory=./targetBD2/data
-wikitty.service.server.url=http://localhost:2222/wikitty
+wikitty.data.directory=./targetBD1/data
+wikitty.service.server.url=http://localhost:1111/wikitty
wikitty.storage.jdbc.queryfile=wikitty-jdbc-query.properties
wikitty.storage.jdbc.driver=org.h2.Driver
wikitty.storage.jdbc.host=jdbc:h2:file:${wikitty.data.directory}/data/db
@@ -37,6 +37,7 @@
wikitty.searchengine.solr.directory.data=${wikitty.data.directory}/data/solr
wikitty.searchengine.solr.directory.factory=solr.StandardDirectoryFactory
wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceStorage,\
+org.nuiton.wikitty.publication.WikittyPublicationFallbackService,\
org.nuiton.wikitty.services.WikittyServiceNotifier,\
org.nuiton.wikitty.services.WikittyServiceCached,\
org.nuiton.wikitty.services.WikittyServiceSecurity,\
@@ -56,3 +57,8 @@
wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
wikitty.WikittyServiceAccessStat.components=\
org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageLog
+
+wikitty.fallback.prefix = prefix
+wikitty.prefix.WikittyService.components=org.nuiton.wikitty.publication.externalize.WikittyServiceJarLoader
+wikitty.publication.repository.jar=/home/Manou/testWP/pub-externalized.jar
+
1
0
Author: tchemit
Date: 2011-08-04 11:52:22 +0200 (Thu, 04 Aug 2011)
New Revision: 1108
Url: http://nuiton.org/repositories/revision/wikitty/1108
Log:
Update mavenpom4redmine to 3.0.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-04 09:38:27 UTC (rev 1107)
+++ trunk/pom.xml 2011-08-04 09:52:22 UTC (rev 1108)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.5.5</version>
+ <version>3.0</version>
</parent>
<!-- ************************************************************* -->
1
0
r1107 - in trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication: externalize synchro
by mfortun@users.nuiton.org 04 Aug '11
by mfortun@users.nuiton.org 04 Aug '11
04 Aug '11
Author: mfortun
Date: 2011-08-04 11:38:27 +0200 (Thu, 04 Aug 2011)
New Revision: 1107
Url: http://nuiton.org/repositories/revision/wikitty/1107
Log:
initialisation for test
Modified:
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java
Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java
===================================================================
--- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-03 14:46:33 UTC (rev 1106)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-04 09:38:27 UTC (rev 1107)
@@ -1,22 +1,176 @@
package org.nuiton.wikitty.publication.externalize;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import junit.framework.Assert;
+import org.apache.commons.io.FileUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.util.FileUtil;
+import org.nuiton.wikitty.WikittyConfigOption;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.WikittyServiceFactory;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.entities.WikittyLabelHelper;
+import org.nuiton.wikitty.entities.WikittyLabelImpl;
+import org.nuiton.wikitty.publication.WikittyFileUtil;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataImpl;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationSynchronize;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.Search;
+
public class WikittyPublicationExternalizeTest {
+ protected File tempHome;
+ protected List<Wikitty> listWikittyPubData;
+ protected List<Wikitty> listWikittyPubText;
+ protected List<String> labels;
+ protected ApplicationConfig config;
+ protected WikittyProxy proxy;
+ protected Criteria allCrit;
+ protected File starts;
+
- /*
- * 1) créer un repos de wikitty local
- *
- * 2) externalizer, véfifier le jar, que le fichier temporaire
- * n'existe plus.
- *
- * 3) vérifier la présence de .java, .class et le fichier correspondant
- * pour les wikittypubtext
- *
- *
- *
+
+ @Before
+ public void init() throws IOException {
+
+ if (!FileUtils.getTempDirectory().exists()) {
+ FileUtils.getTempDirectory().mkdir();
+ }
+
+ tempHome = new File(FileUtils.getTempDirectory().getCanonicalFile()
+ + File.separator + "WikittyPublicationFileSystemTest");
+
+ if (tempHome.exists()) {
+ FileUtil.deleteRecursively(tempHome);
+
+ }
+ tempHome.mkdir();
+
+ // prepare the wikitties list
+ listWikittyPubData = new LinkedList<Wikitty>();
+ listWikittyPubText = new LinkedList<Wikitty>();
+
+ labels = new ArrayList<String>(6);
+ labels.add(0, "sub");
+ labels.add(1, labels.get(0) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ + "sub11");
+ labels.add(2, labels.get(1) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ + "sub12");
+ labels.add(3, labels.get(0) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ + "sub3");
+ labels.add(4, labels.get(0) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ + "sub21");
+ labels.add(5, labels.get(4) + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ + "sub21");
+
+ for (int i = 0; i < 6; i++) {
+
+ Wikitty pubText = new WikittyImpl();
+ Wikitty pubData = new WikittyImpl();
+
+ pubData.addExtension(WikittyPubDataImpl.extensionWikittyPubData);
+ pubText.addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+
+ WikittyPubTextHelper.setContent(pubText, "content_" + i);
+ WikittyPubTextHelper.setFileExtension(pubText, "js");
+ WikittyPubTextHelper.setMimeType(pubText, "application/javascript");
+ WikittyPubTextHelper.setName(pubText, "pubtextnum_" + i);
+
+ WikittyPubDataHelper.setContent(pubData,
+ ("content data" + i).getBytes());
+ WikittyPubDataHelper.setFileExtension(pubData, "jpg");
+ WikittyPubDataHelper.setMimeType(pubData, "image/jpg");
+ WikittyPubDataHelper.setName(pubData, "pubdatanum_" + i);
+
+ pubData.addExtension(WikittyLabelImpl.extensions);
+ pubText.addExtension(WikittyLabelImpl.extensions);
+
+ WikittyLabelHelper.addLabels(pubData, labels.get(i));
+ WikittyLabelHelper.addLabels(pubText, labels.get(i));
+
+ listWikittyPubData.add(pubData);
+ listWikittyPubText.add(pubText);
+ }
+
+ // then initialise application config for wikitty proxy on service FS
+ config = new ApplicationConfig();
+ config.setOption(WikittyPublicationSynchronize.IS_RECURSION_OPTION,
+ "true");
+ config.setOption(
+ WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(),
+ WikittyPublicationFileSystem.class.getName());
+
+ starts = new File(tempHome.getAbsolutePath() + File.separator + "sub");
+ if (starts.exists()) {
+ FileUtil.deleteRecursively(starts);
+ }
+ starts.mkdir();
+
+ String url = "file:///" + tempHome.getAbsolutePath() + "#sub";
+
+ config.setOption(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url);
+
+ proxy = new WikittyProxy(
+ WikittyServiceFactory.buildWikittyService(config));
+
+ allCrit = Search.query().keyword("*").criteria();
+
+ }
+
+ @After
+ public void delete() {
+ FileUtil.deleteRecursively(tempHome);
+ }
+
+ /**
+ * check save wikitty
*/
+ @Test
+ public void saveWikittyOnFS() {
+
+ Assert.assertEquals(0, proxy.findAllIdByCriteria(allCrit).getNumFound());
+
+ proxy.storeWikitty(listWikittyPubData);
+ proxy.storeWikitty(listWikittyPubText);
+
+ int result = listWikittyPubData.size() + listWikittyPubText.size();
+
+ Assert.assertEquals(result, proxy.findAllIdByCriteria(allCrit)
+ .getNumFound());
+
+ }
+ @Test
+ public void testExternalize(){
+ // Jar is created
+
+
+ }
+
+ @Test
+ public void testFileInJar(){
+ // test that there are normal file and class and java.
+
+
+ }
+
+
}
Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java
===================================================================
--- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java 2011-08-03 14:46:33 UTC (rev 1106)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java 2011-08-04 09:38:27 UTC (rev 1107)
@@ -1,8 +1,172 @@
-package org.nuiton.wikitty.publication.synchro;
+ package org.nuiton.wikitty.publication.synchro;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.Assert;
+
+import org.apache.commons.io.FileUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.util.FileUtil;
+import org.nuiton.wikitty.WikittyConfigOption;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.WikittyServiceFactory;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.entities.WikittyLabelHelper;
+import org.nuiton.wikitty.entities.WikittyLabelImpl;
+import org.nuiton.wikitty.publication.WikittyPublicationFallbackService;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.Search;
+
public class WikittyPublicationSynchronizeTest {
+ protected File tempHome;
+ protected WikittyProxy proxyOnClassic;
+ protected WikittyProxy proxyOnFS;
+
+ protected Map<String, Wikitty> onMain;
+ protected Map<String, Wikitty> onFallBack;
+
+ private Criteria allCrit;
+
+ @Before
+ public void init() throws IOException, ArgumentsParserException {
+ allCrit = Search.query().keyword("*").criteria();
+
+ if (!FileUtils.getTempDirectory().exists()) {
+ FileUtils.getTempDirectory().mkdir();
+ }
+
+ tempHome = new File(FileUtils.getTempDirectory().getCanonicalFile()
+ + File.separator + "WikittyPublicationFallbackServiceTest");
+
+ if (tempHome.exists()) {
+ FileUtil.deleteRecursively(tempHome);
+
+ }
+ tempHome.mkdir();
+
+ File starts = new File(tempHome.getAbsolutePath() + File.separator
+ + "sub");
+ if (starts.exists()) {
+ FileUtil.deleteRecursively(starts);
+ }
+ starts.mkdir();
+
+ // then initialise application config for wikitty proxy on service FS
+ ApplicationConfig configFS = new ApplicationConfig();
+ configFS.setOption(WikittyPublicationSynchronize.IS_RECURSION_OPTION,
+ "true");
+ configFS.setOption(
+ WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(),
+ WikittyPublicationFileSystem.class.getName());
+
+ String url = "file:///" + tempHome.getAbsolutePath() + "#sub";
+
+ configFS.setOption(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url);
+
+ ApplicationConfig configLocal = new ApplicationConfig(
+ "wikitty-publication-ws-test.properties");
+
+ // configLocal = WikittyPublicationConfig.getConfig();
+
+ String bdDir = tempHome + File.separator + "bd";
+
+ configLocal.setOption("wikitty.data.directory", bdDir);
+ configLocal.parse(null);
+ // create two service
+ proxyOnClassic = new WikittyProxy(
+ WikittyServiceFactory.buildWikittyService(configLocal));
+
+ proxyOnFS = new WikittyProxy(
+ WikittyServiceFactory.buildWikittyService(configFS));
+ // initialize fall back service
+ WikittyPublicationFallbackService fallback = new WikittyPublicationFallbackService(
+ proxyOnClassic.getWikittyService(), null);
+ fallback.setFallbackService(proxyOnFS.getWikittyService());
+
+
+ onMain = new HashMap<String, Wikitty>();
+
+ onFallBack = new HashMap<String, Wikitty>();
+
+ // create wikitty for the test
+ for (int i = 0; i < 10; i++) {
+
+ Wikitty pubTextMain = new WikittyImpl();
+ Wikitty pubTextFall = new WikittyImpl();
+
+ pubTextMain
+ .addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+ pubTextFall
+ .addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+
+ WikittyPubTextHelper.setContent(pubTextMain, "content_main_" + i);
+ WikittyPubTextHelper.setFileExtension(pubTextMain, "js");
+ WikittyPubTextHelper.setMimeType(pubTextMain,
+ "application/javascript");
+ WikittyPubTextHelper.setName(pubTextMain, "pubtextOnMain_" + i);
+
+ WikittyPubTextHelper.setContent(pubTextFall, "content_fall_" + i);
+ WikittyPubTextHelper.setFileExtension(pubTextFall, "js");
+ WikittyPubTextHelper.setMimeType(pubTextFall,
+ "application/javascript");
+ WikittyPubTextHelper.setName(pubTextFall, "pubtextOnFall_" + i);
+
+ pubTextMain.addExtension(WikittyLabelImpl.extensions);
+ pubTextFall.addExtension(WikittyLabelImpl.extensions);
+
+ WikittyLabelHelper.addLabels(pubTextMain, "sub");
+ WikittyLabelHelper.addLabels(pubTextFall, "sub");
+
+ onFallBack.put(pubTextFall.getId(), pubTextFall);
+ onMain.put(pubTextMain.getId(), pubTextMain);
+
+ }
+
+
+
+ }
+
+ /**
+ * delete directory after test
+ */
+ @After
+ public void afterTest() {
+ // remove directory
+ FileUtil.deleteRecursively(tempHome);
+ }
+
+
+ public void putAllWikittyOnServices() {
+
+ List<Wikitty> listFall = new LinkedList<Wikitty>();
+ listFall.addAll(onFallBack.values());
+
+
+ proxyOnFS.storeWikitty(listFall);
+
+ List<Wikitty> listmain = new LinkedList<Wikitty>();
+ listmain.addAll(onMain.values());
+
+
+ proxyOnClassic.storeWikitty(listmain);
+
+ }
+
+
/*
* Liste des tests à faire:
*
1
0
r1106 - in trunk/wikitty-publication/src: main/java/org/nuiton/wikitty/publication main/resources test/java/org/nuiton/wikitty/publication test/java/org/nuiton/wikitty/publication/externalize
by mfortun@users.nuiton.org 03 Aug '11
by mfortun@users.nuiton.org 03 Aug '11
03 Aug '11
Author: mfortun
Date: 2011-08-03 16:46:33 +0200 (Wed, 03 Aug 2011)
New Revision: 1106
Url: http://nuiton.org/repositories/revision/wikitty/1106
Log:
*Add tests
*corrections discovered with test
Added:
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-test.properties
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/PropertiesExtended.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackServiceTest.java
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/PropertiesExtended.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/PropertiesExtended.java 2011-08-02 15:50:31 UTC (rev 1105)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/PropertiesExtended.java 2011-08-03 14:46:33 UTC (rev 1106)
@@ -95,7 +95,9 @@
*/
public void load(File file) throws FileNotFoundException, IOException {
this.origin = file;
- this.load(new FileReader(origin));
+ FileReader fr = new FileReader(origin);
+ this.load(fr);
+ fr.close();
}
/**
@@ -109,7 +111,10 @@
* if file not found
*/
public void store() throws IOException {
- this.store(new FileWriter(origin), "");
+ FileWriter fs = new FileWriter(origin);
+ this.store(fs, "");
+ fs.close();
+
}
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java 2011-08-02 15:50:31 UTC (rev 1105)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackService.java 2011-08-03 14:46:33 UTC (rev 1106)
@@ -4,7 +4,8 @@
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyServiceFactory;
@@ -27,14 +28,18 @@
static public String WIKITTY_FALLBACK_PREFIX_KEY = "wikitty.fallback.prefix";
+ static private Log log = LogFactory.getLog(WikittyPublicationFallbackService.class);
+
protected WikittyService mainService;
protected WikittyService fallbackService;
public WikittyPublicationFallbackService(WikittyService serv,
ApplicationConfig config) {
this.mainService = serv;
+ if(config != null){
fallbackService = WikittyServiceFactory.buildWikittyService(config,
"wikitty." + config.getOption(WIKITTY_FALLBACK_PREFIX_KEY));
+ }
}
public boolean isFallBack() {
@@ -191,7 +196,12 @@
List<Wikitty> result = new LinkedList<Wikitty>();
- result.addAll(mainService.restore(securityToken, id));
+ List<Wikitty> tempListResult = mainService.restore(securityToken, id);
+ for (Wikitty wikitty : tempListResult) {
+ if( wikitty !=null) {
+ result.add(wikitty);
+ }
+ }
// can't trust result's size because result can contain null
if (isFallBack()) {
// prepare a list with wikitty id that have not been retrieve by the
@@ -223,6 +233,8 @@
if (isFallBack()) {
+
+
for (int i = 0; i < result.size(); i++) {
/*
@@ -234,7 +246,9 @@
int resultSizeExpected = currentCrit.getEndIndex()
- currentCrit.getFirstIndex();
- if (currentResult.size() < resultSizeExpected) {
+ log.debug("Size expected"+ resultSizeExpected);
+
+ if ( resultSizeExpected==-1 || currentResult.size() < resultSizeExpected ) {
/*
* if result empty, just put the result of the fallback's
* requestresult
@@ -300,6 +314,8 @@
List<String> allresult = new LinkedList<String>();
allresult.addAll(currentResult.getAll());
allresult.addAll(resultFallback.getAll());
+ System.out.println(allresult.size());
+
int number = currentResult.getNumFound()
+ resultFallback.getNumFound();
@@ -404,4 +420,22 @@
return result;
}
+ public WikittyService getMainService() {
+ return mainService;
+ }
+
+ public void setMainService(WikittyService mainService) {
+ this.mainService = mainService;
+ }
+
+ public WikittyService getFallbackService() {
+ return fallbackService;
+ }
+
+ public void setFallbackService(WikittyService fallbackService) {
+ this.fallbackService = fallbackService;
+ }
+
+
+
}
Added: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-test.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-test.properties (rev 0)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-test.properties 2011-08-03 14:46:33 UTC (rev 1106)
@@ -0,0 +1,56 @@
+###
+# #%L
+# Wikitty :: publication
+#
+# $Id: wikitty-publication-ws-default.properties 823 2011-04-20 14:45:47Z mfortun $
+# $HeadURL: http://svn.nuiton.org/svn/wikitty/trunk/wikitty-publication/src/main/resour… $
+# %%
+# Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Lesser Public License for more details.
+#
+# You should have received a copy of the GNU General Lesser Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/lgpl-3.0.html>.
+# #L%
+###
+
+
+wikitty.storage.jdbc.queryfile=wikitty-jdbc-query.properties
+wikitty.storage.jdbc.driver=org.h2.Driver
+wikitty.storage.jdbc.host=jdbc:h2:file:${wikitty.data.directory}/data/db
+wikitty.storage.jdbc.login=sa
+wikitty.storage.jdbc.password=
+wikitty.storage.jdbc.xadatasource=org.h2.jdbcx.JdbcDataSource
+wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.URL=${wikitty.storage.jdbc.host}
+wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.user=${wikitty.storage.jdbc.login}
+wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.password=${wikitty.storage.jdbc.password}
+wikitty.searchengine.solr.directory.data=${wikitty.data.directory}/data/solr
+wikitty.searchengine.solr.directory.factory=solr.StandardDirectoryFactory
+wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceStorage,\
+org.nuiton.wikitty.services.WikittyServiceNotifier,\
+org.nuiton.wikitty.services.WikittyServiceCached,\
+org.nuiton.wikitty.services.WikittyServiceSecurity,\
+org.nuiton.wikitty.services.WikittyServiceAccessStat
+
+wikitty.WikittyServiceStorage.components=org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC,\
+org.nuiton.wikitty.jdbc.WikittyStorageJDBC,\
+org.nuiton.wikitty.storage.solr.WikittySearchEngineSolr
+wikitty.service.cache.listenevents=false
+wikitty.service.cache.allwaysRestoreCopies=false
+wikitty.service.event.propagate=false
+wikitty.service.event.listen=false
+wikitty.service.accessstat.extensions=WikittyPubText,WikittyPubData
+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$AccessStatStorageLog
Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackServiceTest.java
===================================================================
--- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackServiceTest.java 2011-08-02 15:50:31 UTC (rev 1105)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackServiceTest.java 2011-08-03 14:46:33 UTC (rev 1106)
@@ -1,29 +1,334 @@
package org.nuiton.wikitty.publication;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.Assert;
+
+import org.apache.commons.io.FileUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.util.ArgumentsParserException;
+import org.nuiton.util.FileUtil;
+import org.nuiton.wikitty.WikittyConfigOption;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.WikittyServiceFactory;
+import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.entities.WikittyImpl;
+import org.nuiton.wikitty.entities.WikittyLabelHelper;
+import org.nuiton.wikitty.entities.WikittyLabelImpl;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataHelper;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataImpl;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationSynchronize;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.Search;
+
public class WikittyPublicationFallbackServiceTest {
+ protected File tempHome;
+ protected WikittyProxy proxyOnMain;
+ protected WikittyProxy proxyOnFallBack;
+ protected WikittyProxy proxy;
+ protected Map<String, Wikitty> onMain;
+ protected Map<String, Wikitty> onFallBack;
+ protected Map<String, Wikitty> onBoth;
+ private Criteria allCrit;
+
+ @Before
+ public void init() throws IOException, ArgumentsParserException {
+ allCrit = Search.query().keyword("*").criteria();
+
+ if (!FileUtils.getTempDirectory().exists()) {
+ FileUtils.getTempDirectory().mkdir();
+ }
+
+ tempHome = new File(FileUtils.getTempDirectory().getCanonicalFile()
+ + File.separator + "WikittyPublicationFallbackServiceTest");
+
+ if (tempHome.exists()) {
+ FileUtil.deleteRecursively(tempHome);
+
+ }
+ tempHome.mkdir();
+
+ File starts = new File(tempHome.getAbsolutePath() + File.separator
+ + "sub");
+ if (starts.exists()) {
+ FileUtil.deleteRecursively(starts);
+ }
+ starts.mkdir();
+
+ // then initialise application config for wikitty proxy on service FS
+ ApplicationConfig configFS = new ApplicationConfig();
+ configFS.setOption(WikittyPublicationSynchronize.IS_RECURSION_OPTION,
+ "true");
+ configFS.setOption(
+ WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(),
+ WikittyPublicationFileSystem.class.getName());
+
+ String url = "file:///" + tempHome.getAbsolutePath() + "#sub";
+
+ configFS.setOption(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(), url);
+
+ ApplicationConfig configLocal = new ApplicationConfig(
+ "wikitty-publication-ws-test.properties");
+
+ // configLocal = WikittyPublicationConfig.getConfig();
+
+ String bdDir = tempHome + File.separator + "bd";
+
+ configLocal.setOption("wikitty.data.directory", bdDir);
+ configLocal.parse(null);
+ // create two service
+ proxyOnMain = new WikittyProxy(
+ WikittyServiceFactory.buildWikittyService(configLocal));
+
+ proxyOnFallBack = new WikittyProxy(
+ WikittyServiceFactory.buildWikittyService(configFS));
+ // initialize fall back service
+ WikittyPublicationFallbackService fallback = new WikittyPublicationFallbackService(
+ proxyOnMain.getWikittyService(), null);
+ fallback.setFallbackService(proxyOnFallBack.getWikittyService());
+ proxy = new WikittyProxy(fallback);
+
+ onMain = new HashMap<String, Wikitty>();
+ onBoth = new HashMap<String, Wikitty>();
+ onFallBack = new HashMap<String, Wikitty>();
+
+ // create wikitty for the test
+ for (int i = 0; i < 10; i++) {
+
+ Wikitty pubTextMain = new WikittyImpl();
+ Wikitty pubTextFall = new WikittyImpl();
+
+ pubTextMain
+ .addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+ pubTextFall
+ .addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+
+ WikittyPubTextHelper.setContent(pubTextMain, "content_main_" + i);
+ WikittyPubTextHelper.setFileExtension(pubTextMain, "js");
+ WikittyPubTextHelper.setMimeType(pubTextMain,
+ "application/javascript");
+ WikittyPubTextHelper.setName(pubTextMain, "pubtextOnMain_" + i);
+
+ WikittyPubTextHelper.setContent(pubTextFall, "content_fall_" + i);
+ WikittyPubTextHelper.setFileExtension(pubTextFall, "js");
+ WikittyPubTextHelper.setMimeType(pubTextFall,
+ "application/javascript");
+ WikittyPubTextHelper.setName(pubTextFall, "pubtextOnFall_" + i);
+
+ pubTextMain.addExtension(WikittyLabelImpl.extensions);
+ pubTextFall.addExtension(WikittyLabelImpl.extensions);
+
+ WikittyLabelHelper.addLabels(pubTextMain, "sub");
+ WikittyLabelHelper.addLabels(pubTextFall, "sub");
+
+ onFallBack.put(pubTextFall.getId(), pubTextFall);
+ onMain.put(pubTextMain.getId(), pubTextMain);
+
+ }
+
+ for (int i = 0; i < 5; i++) {
+
+ Wikitty pubTextMain = new WikittyImpl();
+
+ pubTextMain
+ .addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+
+ WikittyPubTextHelper.setContent(pubTextMain, "content_onBoth_" + i);
+ WikittyPubTextHelper.setFileExtension(pubTextMain, "js");
+ WikittyPubTextHelper.setMimeType(pubTextMain,
+ "application/javascript");
+ WikittyPubTextHelper.setName(pubTextMain, "pubtextOnboth_" + i);
+
+ pubTextMain.addExtension(WikittyLabelImpl.extensions);
+
+ WikittyLabelHelper.addLabels(pubTextMain, "sub");
+
+ onBoth.put(pubTextMain.getId(), pubTextMain);
+
+ }
+
+ }
+
+ /**
+ * delete directory after test
+ */
+ @After
+ public void afterTest() {
+ // remove directory
+ FileUtil.deleteRecursively(tempHome);
+ }
+
+ /**
+ *
+ */
+ @Test
+ public void testServiceCreated() {
+ Assert.assertNotNull(proxyOnFallBack);
+ Assert.assertNotNull(proxyOnMain);
+ Assert.assertNotNull(proxy);
+
+ Assert.assertTrue(((WikittyPublicationFallbackService) proxy
+ .getWikittyService()).isFallBack());
+ }
+
+ public void putAllWikittyOnServices() {
+
+ List<Wikitty> listFall = new LinkedList<Wikitty>();
+ listFall.addAll(onFallBack.values());
+ listFall.addAll(onBoth.values());
+
+ proxyOnFallBack.storeWikitty(listFall);
+
+ List<Wikitty> listmain = new LinkedList<Wikitty>();
+ listmain.addAll(onMain.values());
+ listmain.addAll(onBoth.values());
+
+ proxyOnMain.storeWikitty(listmain);
+
+ }
+
+ @Test
+ public void testSimpleFind() {
+ putAllWikittyOnServices();
+
+ int numfound = proxy.findAllByCriteria(allCrit).getNumFound();
+
+ int totalOnBoth = onBoth.size() + onMain.size() + onFallBack.size();
+
+ Assert.assertEquals(totalOnBoth, numfound);
+ }
+
+ @Test
+ public void testMainServiceIsMoreImportantOne() {
+ putAllWikittyOnServices();
+
+ String id = (String) onBoth.keySet().toArray()[1];
+
+ Assert.assertNotNull(id);
+
+ String originalContent;
+
+ Wikitty wikittFromFall = proxyOnFallBack.restore(id);
+
+ originalContent = WikittyPubTextHelper.getContent(wikittFromFall);
+
+ Wikitty wikitty = proxy.restore(id);
+
+ Assert.assertEquals(originalContent,
+ WikittyPubTextHelper.getContent(wikitty));
+
+ String newContent = "newContentOnlyOnFallBack";
+
+ WikittyPubTextHelper.setContent(wikittFromFall, newContent);
+
+ proxyOnFallBack.store(wikittFromFall);
+
+ wikitty = proxy.restore(id);
+
+ Assert.assertEquals(originalContent,
+ WikittyPubTextHelper.getContent(wikitty));
+ }
+
+ @Test
+ public void testMainServiceIsMoreImportantTwo() {
+ putAllWikittyOnServices();
+
+ String id = (String) onBoth.keySet().toArray()[1];
+
+ Assert.assertNotNull(id);
+
+ String originalContent;
+
+ Wikitty wikittFromFall = proxyOnFallBack.restore(id);
+
+ originalContent = WikittyPubTextHelper.getContent(wikittFromFall);
+
+ // restore on main
+ Wikitty wikitty = proxyOnMain.restore(id);
+
+ // check that content are the same
+ Assert.assertEquals(originalContent,
+ WikittyPubTextHelper.getContent(wikitty));
+
+ // write new content on wikitty
+ String newContent = "newContentOnlyOnFallBack";
+
+ WikittyPubTextHelper.setContent(wikitty, newContent);
+
+ // Save the new version of the wikitty on main
+ proxyOnMain.store(wikitty);
+
+ wikitty = proxy.restore(id);
+ // assert that we have the new content
+ Assert.assertEquals(newContent,
+ WikittyPubTextHelper.getContent(wikitty));
+
+ wikittFromFall = proxyOnFallBack.restore(id);
+
+ // assert that new content is not inside fallback
+ Assert.assertNotSame(newContent,
+ WikittyPubTextHelper.getContent(wikittFromFall));
+ }
+
+ /**
+ * Test the save only appear on main
+ */
+ @Test
+ public void testSave() {
+ putAllWikittyOnServices();
+
+ Wikitty wikitt = new WikittyImpl();
+
+ wikitt.addExtension(WikittyPubTextImpl.extensionWikittyPubText);
+ WikittyPubTextHelper.setContent(wikitt, "testSaveContent");
+ WikittyPubTextHelper.setFileExtension(wikitt, "js");
+ WikittyPubTextHelper.setMimeType(wikitt, "application/javascript");
+ WikittyPubTextHelper.setName(wikitt, "testSave");
+
+ wikitt.addExtension(WikittyLabelImpl.extensions);
+
+ WikittyLabelHelper.addLabels(wikitt, "sub");
+
+ proxy.store(wikitt);
+
+ Assert.assertNull(proxyOnFallBack.restore(wikitt.getId()));
+ Assert.assertNotNull(proxyOnMain.restore(wikitt.getId()));
+
+ }
-
-
- /*
- * Instancier un wikitty service sur FS et un sur cajo
- * mettre des wikitty dans les deux différent 10-10, et 5 de plus en commun
+ /**
+ * Test save a wikitty that can be found on fallback
+ * test that the new version of the wikitty is on main
*
- * 1) test de l'affichage des 15 wikitty
- *
- * 2) test prévalence de ceux sur le premier
- *
- * 3) test de sauvegarde qui se mettent sur le premier
- *
- * 4) test des recherches limités qui se complétent
- *
- * 5) suppression
- *
- * 6) édition/sauvegarde d'un wikitty qui n'est pas sur le "main" au départ
- *
- *
- *
*/
+ @Test
+ public void testSaveWikittyFromFall() {
+ putAllWikittyOnServices();
+
+ String id = (String) onFallBack.keySet().toArray()[1];
+
+ // assert the object is in the right service
+ Assert.assertNotNull(proxyOnFallBack.restore(id));
+ Assert.assertNull(proxyOnMain.restore(id));
+ Assert.assertNotNull(proxy.restore(id));
+ }
+
+
}
+
+
Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java
===================================================================
--- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-02 15:50:31 UTC (rev 1105)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-03 14:46:33 UTC (rev 1106)
@@ -16,5 +16,7 @@
*
*/
+
+
}
1
0