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
Author: mfortun
Date: 2011-08-11 18:30:05 +0200 (Thu, 11 Aug 2011)
New Revision: 1125
Url: http://nuiton.org/repositories/revision/wikitty/1125
Log:
*base specifications for maven plugin integration and working proccess to transform wikittypublication application from wikitty service to file system
Added:
trunk/wikitty-publication/src/site/rst/wp-application.rst
Modified:
trunk/wikitty-publication/src/site/rst/sync.rst
Modified: trunk/wikitty-publication/src/site/rst/sync.rst
===================================================================
--- trunk/wikitty-publication/src/site/rst/sync.rst 2011-08-11 16:09:18 UTC (rev 1124)
+++ trunk/wikitty-publication/src/site/rst/sync.rst 2011-08-11 16:30:05 UTC (rev 1125)
@@ -214,8 +214,10 @@
Dans le cas de wikitty qui n'existe pas dans la cible, on remplacera le label
origine qui à permis de trouver ces wikitties et le remplacer par le label
cible, les autres labels du wikitty seront transmit.
-
+Si le label cible est différent du label origine, le label d'origine sera
+substitué par le label cible.
+
Commit/update
+++++++++++++
Added: trunk/wikitty-publication/src/site/rst/wp-application.rst
===================================================================
--- trunk/wikitty-publication/src/site/rst/wp-application.rst (rev 0)
+++ trunk/wikitty-publication/src/site/rst/wp-application.rst 2011-08-11 16:30:05 UTC (rev 1125)
@@ -0,0 +1,32 @@
+wikitty publication application
+===============================
+:Authors: Manoël Fortun
+
+Specifications diverse sur l'utilisation de wikitty publication
+
+
+Protocole de transformation d'une application stockée sur un wikitty service
+utilisé du coté wikitty publication (ce sont des labels)
+
+nomContext.wp
+ #toute les pages
+nomContext.ressources.images
+ #stocker les images
+nomContext.ressources.jar
+ #stoker les binaires
+
+Vers un file system
+
+src/main/wp
+ #toute les pages
+src/main/ressources/images
+ #stocker les images
+src/main/ressources/jar
+ #stoker les binaires
+
+Normalisation de la forme de stockage des différents type de wikitty
+Introduction dans l'url du nomContext.
+
+/fallback/nomContext/eval/wikiMenu
+
+Evalue le wikitty wikiMenu qui posséde un label qui débute par nomContext
1
0
r1124 - in trunk/wikitty-publication/src: main/java/org/nuiton/wikitty/publication main/resources site/rst
by mfortun@users.nuiton.org 11 Aug '11
by mfortun@users.nuiton.org 11 Aug '11
11 Aug '11
Author: mfortun
Date: 2011-08-11 18:09:18 +0200 (Thu, 11 Aug 2011)
New Revision: 1124
Url: http://nuiton.org/repositories/revision/wikitty/1124
Log:
*improve mimetype handling, still need to load mimetype helper config from properties file
Added:
trunk/wikitty-publication/src/main/resources/mimetype.properties
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java
trunk/wikitty-publication/src/site/rst/sync.rst
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-11 14:33:36 UTC (rev 1123)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-11 16:09:18 UTC (rev 1124)
@@ -29,6 +29,7 @@
import javax.script.ScriptEngineManager;
import org.apache.commons.collections.BidiMap;
import org.apache.commons.collections.bidimap.DualHashBidiMap;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.ScriptEvaluator;
@@ -56,6 +57,7 @@
static public String PUBLICATION_MIME_SEP=".";
static public String PREFIX_MIME_PUB_TEXT= "text";
+ static public String MIME_PROPERTIE="mimetype.properties";
/**
* match pub text that must be converted via ui decorateur
* text/\w*\.\w*
@@ -78,8 +80,9 @@
manager = ScriptEvaluator.getScriptEnginManager(null);
+ // TODO mfortun-2011-08-11 need to load thos properties from the file
+
bidiMap.put("wp", "text/javascript");
- //bidiMap.put("js", "text/javascript");
bidiMap.put("htmljs", "text/html.javascript");
bidiMap.put("jpg", "image/jpeg");
bidiMap.put("png", "image/png");
Added: trunk/wikitty-publication/src/main/resources/mimetype.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/mimetype.properties (rev 0)
+++ trunk/wikitty-publication/src/main/resources/mimetype.properties 2011-08-11 16:09:18 UTC (rev 1124)
@@ -0,0 +1,16 @@
+# Properties file used by MimeTypePubHelper inside wikitty publication
+# to define file that have to be transform with ui decorator
+# and mime type for wikitty pub text
+#
+#MimeType that begin by "text/" are treat as wikittypubtext
+#
+# Mime type for wikittypubText that must be converted must have the syntaxe:
+# text/xxx.yyy
+# xxx.yyy is the filter option like html.javascript
+# after transformation the mime type will be text/yyy (must have the scriptevaluator
+# for this mime type)
+text/javascript=wp
+text/html.javascript=htmljs
+image/jpeg=jpg
+image/png=png
+text/java=java
\ No newline at end of file
Modified: trunk/wikitty-publication/src/site/rst/sync.rst
===================================================================
--- trunk/wikitty-publication/src/site/rst/sync.rst 2011-08-11 14:33:36 UTC (rev 1123)
+++ trunk/wikitty-publication/src/site/rst/sync.rst 2011-08-11 16:09:18 UTC (rev 1124)
@@ -1,6 +1,6 @@
+//TODO mettre que synchro sert aussi pour déplacer
-
Spécification Wikitty publication module de synchronisation
===========================================================
:Authors: Manoël Fortun
1
0
r1123 - in trunk/wikitty-publication/src: main/java/org/nuiton/wikitty/publication main/java/org/nuiton/wikitty/publication/action main/resources test/java/org/nuiton/wikitty/publication test/java/org/nuiton/wikitty/publication/externalize test/java/org/nuiton/wikitty/publication/synchro
by mfortun@users.nuiton.org 11 Aug '11
by mfortun@users.nuiton.org 11 Aug '11
11 Aug '11
Author: mfortun
Date: 2011-08-11 16:33:36 +0200 (Thu, 11 Aug 2011)
New Revision: 1123
Url: http://nuiton.org/repositories/revision/wikitty/1123
Log:
*mimetype handling improved
Modified:
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/WikittyFileUtil.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java
trunk/wikitty-publication/src/main/resources/struts.xml
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
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java
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-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -24,14 +24,12 @@
*/
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;
import org.apache.commons.collections.BidiMap;
import org.apache.commons.collections.bidimap.DualHashBidiMap;
+import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.ScriptEvaluator;
/**
@@ -54,7 +52,20 @@
protected ScriptEngineManager manager;
protected UiCodeDecorator decorator;
+ static public String COMMON_MIME_SEP ="/";
+ static public String PUBLICATION_MIME_SEP=".";
+
+ static public String PREFIX_MIME_PUB_TEXT= "text";
/**
+ * match pub text that must be converted via ui decorateur
+ * text/\w*\.\w*
+ * as
+ * text/html.javascript
+ */
+ static public String REGEX_PUB_TEXT_TRANSFORM = "text/\\w*\\.\\w*";
+
+
+ /**
* The default mime type
*/
public static String DEFAULT_MIME_TYPE = "application/octet-stream";
@@ -67,13 +78,23 @@
manager = ScriptEvaluator.getScriptEnginManager(null);
- bidiMap.put("wp", "application/javascript");
- bidiMap.put("js", "application/javascript");
- bidiMap.put("htmlp", "htmlp/javascript");
+ bidiMap.put("wp", "text/javascript");
+ //bidiMap.put("js", "text/javascript");
+ bidiMap.put("htmljs", "text/html.javascript");
bidiMap.put("jpg", "image/jpeg");
bidiMap.put("png", "image/png");
- bidiMap.put("java", "application/java");
+ bidiMap.put("java", "text/java");
compilable.add("application/java");
+
+
+ /*
+ *
+ * si type commence par text alors -> pubtext
+ * si text/machin.truc ça veut dire qu'on doit le préprosesser
+ * avec le bon truc
+ *
+ *
+ */
}
@@ -127,11 +148,48 @@
public boolean isPubTextMime(String mimeType) {
// will check if there is an engine for the mimetype
- boolean result = manager.getEngineByMimeType(mimeType)!=null;
- result = result || decorator.isMimeTypeUi(mimeType);
+ boolean result = false;
+
+ // check if mimetype startwith the PUbtext prefix
+ result = mimeType.startsWith(PREFIX_MIME_PUB_TEXT);
+
+ // if mimetype match the regex for wikitty pub text that must be
+ // decorate by uidecorator,
+ if (mimeType.matches(REGEX_PUB_TEXT_TRANSFORM)){
+ String[] mimeTab = StringUtil.split(mimeType, COMMON_MIME_SEP);
+ // construct final mime of the script after transformation
+ String originalMime = mimeTab[0];
+ originalMime+=COMMON_MIME_SEP+StringUtil.split(mimeType,PUBLICATION_MIME_SEP)[1];
+
+ //check if there is an engine to execute final script
+ result = manager.getEngineByMimeType(originalMime)!=null;
+ // check if there rules to transform the script
+ result = result && decorator.isDecorated(mimeTab[1]);
+ }
+
return result;
}
+
+ public String pubUiMimeToConverterOption (String mime){
+ String result = mime;
+ if (mime.matches(REGEX_PUB_TEXT_TRANSFORM)){
+ result = StringUtil.split(mime, COMMON_MIME_SEP)[1];
+ }
+ return result;
+ }
+
+ public String pubUiMimeToTargetMime (String mime){
+ String result = mime;
+ if (mime.matches(REGEX_PUB_TEXT_TRANSFORM)){
+ String[] mimeTab = StringUtil.split(mime, COMMON_MIME_SEP);
+ // construct final mime of the script after transformation
+ result = mimeTab[0];
+ result += COMMON_MIME_SEP+StringUtil.split(mime,PUBLICATION_MIME_SEP)[1];
+ }
+ return result;
+ }
+
/**
* used to check if a file have to be converted as a wikittyPubText
* with his extension similar to :
@@ -166,5 +224,7 @@
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-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/UiCodeDecorator.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -34,7 +34,7 @@
protected String MIME_SEP = "/";
protected Map<String, FilterOption> filtersOptions;
- protected Set<String> firstPartMimeHandled;
+
static protected FilterOption defaultFilterOption;
@@ -56,11 +56,11 @@
public UiCodeDecorator() {
filtersOptions = new HashMap<String, FilterOption>();
- firstPartMimeHandled = new HashSet<String>();
+
// add basic value js and htmlp
- filtersOptions.put("javascript", defaultFilterOption);
- firstPartMimeHandled.add("htmlp");
+ filtersOptions.put("html.javascript", defaultFilterOption);
+
}
public Wikitty transformPubUIToPubText(Wikitty wikitty) throws IOException {
@@ -140,16 +140,21 @@
}
- public boolean isTransformationNeeded(WikittyPubData wikitty) {
+ public boolean isTransformationNeeded(WikittyPubText wikitty) {
String mime = wikitty.getMimeType();
return isMimeTypeUi(mime);
}
public boolean isMimeTypeUi(String mime){
- String[] mimeParsed = StringUtil.split(mime, MIME_SEP);
- boolean result = firstPartMimeHandled.contains(mimeParsed[0]);
- return result;
+ MimeTypePubHelper helper = new MimeTypePubHelper();
+ String mimeKeyOption = helper.pubUiMimeToConverterOption(mime);
+ return filtersOptions.containsKey(mimeKeyOption);
}
+
+ public boolean isDecorated(String string) {
+ return filtersOptions.containsKey(string);
+
+ }
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyFileUtil.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyFileUtil.java 2011-08-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyFileUtil.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -7,10 +7,6 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.FileUtil;
import org.nuiton.util.StringUtil;
-import org.nuiton.wikitty.WikittyUtil;
-import org.nuiton.wikitty.entities.WikittyLabel;
-import org.nuiton.wikitty.entities.WikittyLabelAbstract;
-
/**
*
* Class that containt utils method when handle wikitty store as file.
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-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -142,7 +142,9 @@
} else {
UiCodeDecorator decorator = new UiCodeDecorator();
+ log.debug("Check if transformed needed");
if (decorator.isTransformationNeeded(w)) {
+ log.debug("transformeneed");
try {
w = decorator.transformPubUIToPubText(w);
} catch (IOException e) {
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-11 14:33:36 UTC (rev 1123)
@@ -78,7 +78,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">
@@ -115,7 +115,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>
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-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackServiceTest.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -119,13 +119,13 @@
WikittyPubTextHelper.setContent(pubTextMain, "content_main_" + i);
WikittyPubTextHelper.setMimeType(pubTextMain,
- "application/javascript");
+ "text/javascript");
WikittyPubTextHelper.setName(pubTextMain, "pubtextOnMain_" + i);
WikittyPubTextHelper.setContent(pubTextFall, "content_fall_" + i);
WikittyPubTextHelper.setMimeType(pubTextFall,
- "application/javascript");
+ "text/javascript");
WikittyPubTextHelper.setName(pubTextFall, "pubtextOnFall_" + i);
pubTextMain.addExtension(WikittyLabelImpl.extensions);
@@ -149,7 +149,7 @@
WikittyPubTextHelper.setContent(pubTextMain, "content_onBoth_" + i);
WikittyPubTextHelper.setMimeType(pubTextMain,
- "application/javascript");
+ "text/javascript");
WikittyPubTextHelper.setName(pubTextMain, "pubtextOnboth_" + i);
pubTextMain.addExtension(WikittyLabelImpl.extensions);
@@ -222,7 +222,8 @@
String originalContent;
Wikitty wikittFromFall = proxyOnFallBack.restore(id);
-
+
+ System.out.println(wikittFromFall.toString());
originalContent = WikittyPubTextHelper.getContent(wikittFromFall);
Wikitty wikitty = proxy.restore(id);
@@ -295,7 +296,7 @@
wikitt.addExtension(WikittyPubTextImpl.extensionWikittyPubText);
WikittyPubTextHelper.setContent(wikitt, "testSaveContent");
- WikittyPubTextHelper.setMimeType(wikitt, "application/javascript");
+ WikittyPubTextHelper.setMimeType(wikitt, "text/javascript");
WikittyPubTextHelper.setName(wikitt, "testSave");
wikitt.addExtension(WikittyLabelImpl.extensions);
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-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -88,7 +88,7 @@
WikittyPubTextHelper.setContent(pubText, "content_" + i);
- WikittyPubTextHelper.setMimeType(pubText, "application/javascript");
+ WikittyPubTextHelper.setMimeType(pubText, "text/javascript");
WikittyPubTextHelper.setName(pubText, "pubtextnum_" + i);
WikittyPubDataHelper.setContent(pubData,
Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java
===================================================================
--- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java 2011-08-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -1,7 +1,6 @@
package org.nuiton.wikitty.publication.synchro;
import java.io.File;
-import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
@@ -48,6 +47,8 @@
protected Criteria allCrit;
protected File starts;
+ static protected String PUB_TEXT_MIME = "text/javascript";
+
@Before
public void init() throws IOException {
@@ -90,7 +91,7 @@
pubText.addExtension(WikittyPubTextImpl.extensionWikittyPubText);
WikittyPubTextHelper.setContent(pubText, "content_" + i);
- WikittyPubTextHelper.setMimeType(pubText, "application/javascript");
+ WikittyPubTextHelper.setMimeType(pubText, PUB_TEXT_MIME);
WikittyPubTextHelper.setName(pubText, "pubtextnum_" + i);
WikittyPubDataHelper.setContent(pubData,
@@ -191,7 +192,7 @@
String label = WikittyFileUtil.labelToPath(labels.get(1));
File wikittyOnFS = new File(tempHome.getCanonicalPath()
- + File.separator + label + File.separator + "pubtextnum_1.js");
+ + File.separator + label + File.separator + "pubtextnum_1.wp");
// check file exist
Assert.assertTrue(wikittyOnFS.exists());
@@ -230,7 +231,7 @@
String label = WikittyFileUtil.labelToPath(labels.get(1));
File wikittyOnFS = new File(tempHome.getCanonicalPath()
- + File.separator + label + File.separator + "pubtextnum_1.js");
+ + File.separator + label + File.separator + "pubtextnum_1.wp");
// check file exist
Assert.assertTrue(wikittyOnFS.exists());
@@ -262,7 +263,7 @@
String label = WikittyFileUtil.labelToPath(labels.get(1));
File wikittyOnFS = new File(tempHome.getCanonicalPath()
- + File.separator + label + File.separator + "pubtextnum_1.js");
+ + File.separator + label + File.separator + "pubtextnum_1.wp");
// check file exist
Assert.assertTrue(wikittyOnFS.exists());
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-11 09:49:59 UTC (rev 1122)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java 2011-08-11 14:33:36 UTC (rev 1123)
@@ -115,12 +115,12 @@
WikittyPubTextHelper.setContent(pubTextMain, "content_main_" + i);
WikittyPubTextHelper.setMimeType(pubTextMain,
- "application/javascript");
+ "text/javascript");
WikittyPubTextHelper.setName(pubTextMain, "pubtextOnMain_" + i);
WikittyPubTextHelper.setContent(pubTextFall, "content_fall_" + i);
WikittyPubTextHelper.setMimeType(pubTextFall,
- "application/javascript");
+ "text/javascript");
WikittyPubTextHelper.setName(pubTextFall, "pubtextOnFall_" + i);
pubTextMain.addExtension(WikittyLabelImpl.extensions);
1
0
11 Aug '11
Author: mfortun
Date: 2011-08-11 11:49:59 +0200 (Thu, 11 Aug 2011)
New Revision: 1122
Url: http://nuiton.org/repositories/revision/wikitty/1122
Log:
*remove attribut file extension for wikittypub, correct mimetypeHandling
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.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/WikittyPublicationExternalize.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
trunk/wikitty-publication/src/main/xmi/wikitty-publication.zargo
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
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java
trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -30,7 +30,8 @@
import java.util.Map;
import javax.script.ScriptEngineManager;
-
+import org.apache.commons.collections.BidiMap;
+import org.apache.commons.collections.bidimap.DualHashBidiMap;
import org.nuiton.wikitty.ScriptEvaluator;
/**
@@ -46,7 +47,7 @@
/**
* Mapping between extention and mime type, key: extension, value: mimeType
*/
- protected Map<String, String> mapExtensionMime;
+ protected BidiMap bidiMap;
// 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;
@@ -59,31 +60,44 @@
public static String DEFAULT_MIME_TYPE = "application/octet-stream";
public MimeTypePubHelper() {
- this.mapExtensionMime = new HashMap<String, String>();
decorator = new UiCodeDecorator();
this.compilable = new LinkedList<String>();
+ bidiMap = new DualHashBidiMap();
+
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");
+ bidiMap.put("wp", "application/javascript");
+ bidiMap.put("js", "application/javascript");
+ bidiMap.put("htmlp", "htmlp/javascript");
+ bidiMap.put("jpg", "image/jpeg");
+ bidiMap.put("png", "image/png");
+ bidiMap.put("java", "application/java");
compilable.add("application/java");
}
- public Map<String, String> getMapExtensionMime() {
- return mapExtensionMime;
- }
- public void setMapExtensionMime(Map<String, String> mapExtensionMime) {
- this.mapExtensionMime = mapExtensionMime;
+
+
+ /**
+ * Return the corresponding mime Type for an extension, default if not
+ * recognized
+ *
+ * @param mime
+ * the extension
+ * @return the corresponding mimeTypeForExt DEFAULT_MIME_TYPE if ext not
+ * recognized
+ */
+ public String getExtensionForMime(String mime) {
+ bidiMap = bidiMap.inverseBidiMap();
+ String result = (String) bidiMap.get(mime);
+ bidiMap = bidiMap.inverseBidiMap();
+ return result;
}
+
+
-
/**
* Return the corresponding mime Type for an extension, default if not
* recognized
@@ -94,7 +108,7 @@
* recognized
*/
public String getMimeForExtension(String ext) {
- String result = mapExtensionMime.get(ext);
+ String result = (String) bidiMap.get(ext);
if (result == null) {
result = DEFAULT_MIME_TYPE;
@@ -137,7 +151,7 @@
* @param mime
*/
public void addExtensionMime(String extension, String mime) {
- mapExtensionMime.put(extension, mime);
+ bidiMap.put(extension, mime);
}
public ScriptEngineManager getManager() {
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEdit.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -226,14 +226,7 @@
&& fieldName
.equals(WikittyPubData.FIELD_WIKITTYPUBDATA_CONTENT)) {
- if (null == WikittyPubDataHelper
- .getFileExtension(wikitty)) {
- WikittyPubDataHelper.setFileExtension(
- wikitty,
- FileUtil.extension(uploadFileName));
- }
-
if (null == WikittyPubDataHelper
.getMimeType(wikitty)) {
WikittyPubDataHelper.setMimeType(wikitty,
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -47,7 +47,7 @@
static public String DEFAULT_JAR_NAME = "pub-externalized";
static public String VERSION_SUFFIX = ".version";
- static public String EXTENSION_SUFFIX = ".extension";
+ static public String MIME_SUFFIX = ".mime";
static public String SOURCE_EXTENSION = ".java";
static public String COMPILED_EXTENSION = ".class";
@@ -97,6 +97,9 @@
static public void externalize(ApplicationConfig conf, Criteria crit)
throws ArgumentsParserException, IOException {
+
+ MimeTypePubHelper mimeHelper = new MimeTypePubHelper();
+
File currentFile = new File(".");
currentFile = new File(currentFile.getAbsolutePath()).getParentFile();
@@ -163,10 +166,12 @@
String extension;
File wikittyFile;
String name;
+ String mimeType;
if (wikit.hasExtension(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
name = WikittyPubTextHelper.getName(wikit);
- extension = WikittyPubTextHelper.getFileExtension(wikit);
+ mimeType = WikittyPubTextHelper.getMimeType(wikit);
+ extension = mimeHelper.getExtensionForMime(mimeType);
String content = WikittyPubTextHelper.getContent(wikit);
// TODO 2011-07-08 change this later or not, java source will be
@@ -196,13 +201,14 @@
// write properties
idProperties.put(id, labelPath + name);
- metaProperties.put(id + EXTENSION_SUFFIX,
- WikittyPubTextHelper.getFileExtension(wikit));
+ metaProperties.put(id + MIME_SUFFIX,
+ mimeType);
}
if (wikit.hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)) {
byte[] content = WikittyPubDataHelper.getContent(wikit);
- extension = WikittyPubDataHelper.getFileExtension(wikit);
+ mimeType = WikittyPubDataHelper.getMimeType(wikit);
+ extension = mimeHelper.getExtensionForMime(mimeType);
name = WikittyPubDataHelper.getName(wikit);
// write file on the temporary directory
@@ -212,7 +218,7 @@
FileUtil.byteToFile(content, wikittyFile);
// write properties
- metaProperties.put(id + EXTENSION_SUFFIX, extension);
+ metaProperties.put(id + MIME_SUFFIX, mimeType);
idProperties.put(id, labelPath + name);
}
}
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -50,6 +50,7 @@
protected Properties wikittyIndex;
protected Properties wikittyMetadata;
+ protected MimeTypePubHelper mimeHelper;
/*
* static public void main(String[] args) {
@@ -94,6 +95,7 @@
wikittyMetadata = new Properties();
wikittyMetadata
.load(wikittyJarRepository.getInputStream(metaEntry));
+ mimeHelper = new MimeTypePubHelper();
} catch (IOException e) {
// TODO mfortun-2011-07-11 realy handle exception
@@ -336,9 +338,10 @@
if (!exists(wikittyId)) {
return null;
}
-
- String fileExtension = wikittyMetadata.getProperty(wikittyId
- + WikittyPublicationExternalize.EXTENSION_SUFFIX);
+
+ String mime = wikittyMetadata.getProperty(wikittyId
+ + WikittyPublicationExternalize.MIME_SUFFIX);
+ String fileExtension = mimeHelper.getExtensionForMime(mime);
String path = wikittyIndex.getProperty(wikittyId);
String version = wikittyMetadata.getProperty(wikittyId
+ WikittyPublicationExternalize.VERSION_SUFFIX);
@@ -346,7 +349,7 @@
JarEntry wikittyJared = wikittyJarRepository.getJarEntry(path + "."
+ fileExtension);
- MimeTypePubHelper mimeHelper = new MimeTypePubHelper();
+
wikit = new WikittyImpl(wikittyId);
wikit.setVersion(version);
@@ -369,15 +372,13 @@
WikittyLabelHelper.addLabels(wikit, label);
- if (mimeHelper.isPubTextExtension(fileExtension)) {
+ if (mimeHelper.isPubTextMime(mime)) {
// wikitty pub text compiled
wikit.addExtension(WikittyPubTextImpl.extensions);
wikit.addExtension(WikittyPubTextCompiledImpl.extensionWikittyPubTextCompiled);
// basic field
- WikittyPubTextHelper.setFileExtension(wikit, fileExtension);
- WikittyPubTextHelper.setMimeType(wikit,
- mimeHelper.getMimeForExtension(fileExtension));
+ WikittyPubTextHelper.setMimeType(wikit, mime);
WikittyPubTextHelper.setName(wikit, wikittyName);
// contents fields:
@@ -392,12 +393,10 @@
} else {
// wikitty pub data
wikit.addExtension(WikittyPubDataImpl.extensionWikittyPubData);
- WikittyPubDataHelper.setMimeType(wikit,
- mimeHelper.getMimeForExtension(fileExtension));
+ WikittyPubDataHelper.setMimeType(wikit,mime);
WikittyPubDataHelper.setName(wikit, wikittyName);
- WikittyPubDataHelper.setFileExtension(wikit, fileExtension);
WikittyPubDataHelper.setContent(wikit, JarUtil.getByteContent(
wikittyJarRepository, wikittyJared));
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-08-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -430,7 +430,8 @@
// String mime = WikittyPubDataHelper.getMimeType(w);
byte[] content = WikittyPubDataHelper.getContent(w);
- extension = WikittyPubDataHelper.getFileExtension(w);
+ String mime = WikittyPubDataHelper.getMimeType(w);
+ extension = mimeHelper.getExtensionForMime(mime);
wikittyFile = new File(path + File.separator + name
+ "." + extension);
@@ -445,8 +446,9 @@
name = WikittyPubTextHelper.getName(w);
// String mime = WikittyPubTextHelper.getMimeType(w);
String content = WikittyPubTextHelper.getContent(w);
+ String mime = WikittyPubTextHelper.getMimeType(w);
- extension = WikittyPubTextHelper.getFileExtension(w);
+ extension = mimeHelper.getExtensionForMime(mime);
wikittyFile = new File(path + File.separator + name
+ "." + extension);
@@ -892,7 +894,6 @@
WikittyPubTextHelper.setMimeType(result, mimeType);
WikittyPubTextHelper.setContent(result,
FileUtil.readAsString(fileToTransform));
- WikittyPubTextHelper.setFileExtension(result, extension);
} else {
log.debug("restore wikitty id:" + id + " file: " + fileId
+ " pubDataType");
@@ -901,7 +902,6 @@
WikittyPubDataHelper.setMimeType(result, mimeType);
WikittyPubDataHelper.setContent(result,
FileUtil.fileToByte(fileToTransform));
- WikittyPubDataHelper.setFileExtension(result, extension);
}
// re set the version (re set the version now allow the version to be
Modified: trunk/wikitty-publication/src/main/xmi/wikitty-publication.zargo
===================================================================
(Binary files differ)
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/WikittyPublicationFallbackServiceTest.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -117,13 +117,13 @@
.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);
@@ -147,7 +147,7 @@
.addExtension(WikittyPubTextImpl.extensionWikittyPubText);
WikittyPubTextHelper.setContent(pubTextMain, "content_onBoth_" + i);
- WikittyPubTextHelper.setFileExtension(pubTextMain, "js");
+
WikittyPubTextHelper.setMimeType(pubTextMain,
"application/javascript");
WikittyPubTextHelper.setName(pubTextMain, "pubtextOnboth_" + i);
@@ -294,7 +294,7 @@
wikitt.addExtension(WikittyPubTextImpl.extensionWikittyPubText);
WikittyPubTextHelper.setContent(wikitt, "testSaveContent");
- WikittyPubTextHelper.setFileExtension(wikitt, "js");
+
WikittyPubTextHelper.setMimeType(wikitt, "application/javascript");
WikittyPubTextHelper.setName(wikitt, "testSave");
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalizeTest.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -87,13 +87,13 @@
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);
Modified: trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java
===================================================================
--- trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java 2011-08-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystemTest.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -90,13 +90,11 @@
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);
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-11 08:45:48 UTC (rev 1121)
+++ trunk/wikitty-publication/src/test/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationSynchronizeTest.java 2011-08-11 09:49:59 UTC (rev 1122)
@@ -114,13 +114,11 @@
.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);
1
0
r1121 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication
by mfortun@users.nuiton.org 11 Aug '11
by mfortun@users.nuiton.org 11 Aug '11
11 Aug '11
Author: mfortun
Date: 2011-08-11 10:45:48 +0200 (Thu, 11 Aug 2011)
New Revision: 1121
Url: http://nuiton.org/repositories/revision/wikitty/1121
Log:
*session is reset if change context: wiki/view/.action -> codelutin/view/.action context has changed as so session now
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-11 08:27:45 UTC (rev 1120)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-11 08:45:48 UTC (rev 1121)
@@ -53,7 +53,7 @@
HttpSession httpSession, String context) {
WikittyPublicationSession result = (WikittyPublicationSession) httpSession
.getAttribute(WIKITTY_PUBLICATION_SESSION_KEY);
- if (result == null) {
+ if (result == null || !result.getContext().equals(context)) {
result = new WikittyPublicationSession(context);
httpSession.setAttribute(WIKITTY_PUBLICATION_SESSION_KEY, result);
}
@@ -64,7 +64,7 @@
Map<String, Object> session, String context) {
WikittyPublicationSession result = (WikittyPublicationSession) session
.get(WIKITTY_PUBLICATION_SESSION_KEY);
- if (result == null) {
+ if (result == null || !result.getContext().equals(context)) {
result = new WikittyPublicationSession(context);
session.put(WIKITTY_PUBLICATION_SESSION_KEY, result);
}
1
0
Author: mfortun
Date: 2011-08-11 10:27:45 +0200 (Thu, 11 Aug 2011)
New Revision: 1120
Url: http://nuiton.org/repositories/revision/wikitty/1120
Log:
*complete tld with tag description
Modified:
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-08-10 16:21:00 UTC (rev 1119)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-08-11 08:27:45 UTC (rev 1120)
@@ -36,7 +36,7 @@
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the proxy from whom search for wikitty]]></description>
+ <description><![CDATA[the proxy from whom search for wikitty and other info needed]]></description>
<name>proxy</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
@@ -82,7 +82,7 @@
<attribute>
- <description><![CDATA[If a delele button must be in the form]]></description>
+ <description><![CDATA[If a delele button must be added in the form]]></description>
<name>allowDelete</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
@@ -91,6 +91,7 @@
<tag>
<name>selectAssociation</name>
+ <description><![CDATA[Tag used for wikittyField that are wikitty collection and show them as combobox or list]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.SelectAssociationTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -104,13 +105,13 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty target (needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity target (needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
@@ -122,12 +123,12 @@
<required>true</required>
</attribute>
<attribute>
- <description><![CDATA[if subtype == wikitty, use the name of the descfield of the wikitties as a description value for select's option]]></description>
+ <description><![CDATA[The field value showed in list/combobox default wikitty-id]]></description>
<name>descField</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the name of the field that have to be specialize]]></description>
+ <description><![CDATA[the name of the field concerned by the tag]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
@@ -139,7 +140,7 @@
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the size of the field]]></description>
+ <description><![CDATA[the size the list/combobox]]></description>
<name>size</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
@@ -153,6 +154,7 @@
</tag>
<tag>
<name>select</name>
+ <description><![CDATA[Tag used to show collection of wikitty directly]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.SelectTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -172,17 +174,17 @@
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the proxy from whom search for wikitty required if tag not used inside form tag]]></description>
+ <description><![CDATA[The field value showed in list/combobox default wikitty-id]]></description>
<name>descField</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[]]></description>
+ <description><![CDATA[Collection of wikitty that will be showed inside the combobox/list (needed if entityValues Not set)]]></description>
<name>wikittyValues</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[]]></description>
+ <description><![CDATA[Collection of EntityBusiness that will be showed inside the combobox/list (needed if wikittyValues Not set)]]></description>
<name>entityValues</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
@@ -198,6 +200,7 @@
<tag>
<name>selectCriteria</name>
+ <description><![CDATA[Tag used to construct a combobox to select /set a wikitty, when the wikitty field is a wikitty]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.SelectCriteriaTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -228,18 +231,18 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[if subtype == wikitty, use the list of wikitty found by criteria as option for select]]></description>
+ <description><![CDATA[criteria to find wikitty, the matching id will be selected]]></description>
<name>criteria</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
</attribute>
<attribute>
- <description><![CDATA[if subtype == wikitty, use the name of the descfield of the wikitties as a description value for select's option]]></description>
+ <description><![CDATA[The field value showed in list/combobox default wikitty-id]]></description>
<name>descField</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the name of the field that have to be specialize, it will be the name of the html element]]></description>
+ <description><![CDATA[the name of the field that have to be specialize]]></description>
<name>fqFieldName</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
@@ -255,6 +258,7 @@
<tag>
<name>selectFixed</name>
+ <description><![CDATA[Tag used to create a combobox select on a wikitty field value with value fixed]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.SelectFixedTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -268,19 +272,19 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty to edit(needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity to edit(needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[if subtype == fixed, use the list of fixed value as option for a select]]></description>
+ <description><![CDATA[]]></description>
<name>fixvalues</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
@@ -301,6 +305,7 @@
<tag>
<name>hidden</name>
+ <description><![CDATA[Tag used to create a hidden field with a wikittyField]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.HiddenTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -314,13 +319,13 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty to edit(needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity to edit(needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
@@ -336,6 +341,7 @@
<tag>
<name>textField</name>
+ <description><![CDATA[tag to show wikitty field as textfield]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.TextFieldTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -349,13 +355,13 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty to edit(needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity to edit(needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
@@ -373,7 +379,7 @@
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[if the textfiel have to hide the content]]></description>
+ <description><![CDATA[if the textfiel have to hide the content, flag: true/false, default: false]]></description>
<name>password</name>
<rtexprvalue>true</rtexprvalue>
</attribute>
@@ -381,6 +387,7 @@
<tag>
<name>date</name>
+ <description><![CDATA[tag to show wikitty field as textField wih improvement for date --DON'T WORK--]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.DateTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -394,13 +401,13 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty to edit(needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity to edit(needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
@@ -427,6 +434,7 @@
<tag>
<name>textArea</name>
+ <description><![CDATA[tag to show wikitty field as textarea]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.TextAreaTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -440,13 +448,13 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty to edit(needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity to edit(needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
@@ -467,6 +475,7 @@
<tag>
<name>boolean</name>
+ <description><![CDATA[tag to show wikitty field as checkbox]]></description>
<tagclass>org.nuiton.wikitty.struts.tag.BooleanTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
@@ -480,13 +489,13 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the wikitty to edit(needed if businessEntity not set)]]></description>
<name>wikitty</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the businessEntity to edit]]></description>
+ <description><![CDATA[the businessEntity to edit(needed if wikitty not set)]]></description>
<name>businessEntity</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
1
0
r1119 - in trunk/wikitty-struts/src: . main/java/org/nuiton/wikitty/struts main/java/org/nuiton/wikitty/struts/component main/tld site site/rst
by mfortun@users.nuiton.org 10 Aug '11
by mfortun@users.nuiton.org 10 Aug '11
10 Aug '11
Author: mfortun
Date: 2011-08-10 18:21:00 +0200 (Wed, 10 Aug 2011)
New Revision: 1119
Url: http://nuiton.org/repositories/revision/wikitty/1119
Log:
*add rst doc for taglib
*correct value that must be trimed before used
Added:
trunk/wikitty-struts/src/site/
trunk/wikitty-struts/src/site/rst/
trunk/wikitty-struts/src/site/rst/doc.rst
Modified:
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java
trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java
trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java 2011-08-10 13:17:10 UTC (rev 1118)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/WikittyFieldHandler.java 2011-08-10 16:21:00 UTC (rev 1119)
@@ -275,6 +275,8 @@
// prepare list of excluded field and extension
for (String excludeIt : entryTab) {
+ // remove space from list of field
+ excludeIt=excludeIt.trim();
String[] extfield = StringUtil.split(excludeIt,
WikittyUtil.FQ_FIELD_NAME_SEPARATOR);
if (extfield.length == 2) {
Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java
===================================================================
--- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java 2011-08-10 13:17:10 UTC (rev 1118)
+++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/SelectFixedBean.java 2011-08-10 16:21:00 UTC (rev 1119)
@@ -45,6 +45,7 @@
String[] values = StringUtil.split(fixvalues,
WikittyFieldHandler.FIELD_SEPARATOR);
for (String it : values) {
+ it=it.trim();
fixlist.add(new Option(it, it));
}
addParameter("fixvalues", fixlist);
Modified: trunk/wikitty-struts/src/main/tld/wikitty-struts.tld
===================================================================
--- trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-08-10 13:17:10 UTC (rev 1118)
+++ trunk/wikitty-struts/src/main/tld/wikitty-struts.tld 2011-08-10 16:21:00 UTC (rev 1119)
@@ -139,7 +139,7 @@
<required>false</required>
</attribute>
<attribute>
- <description><![CDATA[the label of the field]]></description>
+ <description><![CDATA[the size of the field]]></description>
<name>size</name>
<rtexprvalue>true</rtexprvalue>
<required>true</required>
@@ -166,7 +166,7 @@
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
- <description><![CDATA[the wikitty to edit]]></description>
+ <description><![CDATA[the size of the select]]></description>
<name>size</name>
<rtexprvalue>true</rtexprvalue>
<required>false</required>
Added: trunk/wikitty-struts/src/site/rst/doc.rst
===================================================================
--- trunk/wikitty-struts/src/site/rst/doc.rst (rev 0)
+++ trunk/wikitty-struts/src/site/rst/doc.rst 2011-08-10 16:21:00 UTC (rev 1119)
@@ -0,0 +1,205 @@
+=========================
+Documentation Utilisateur
+=========================
+:Authors: Manoël Fortun
+
+La taglib wikitty-struts est une tag lib pour facilité la création de page jsp
+dans le cadre d'application web s'appuyant du un système de stockage wikitty.
+
+Il y a deux possibilité d'utilisation pour cette tag lib, dans les deux cas il
+faut importer les tags avec l'instruction:
+
+* <%@ taglib prefix="ws" uri="/wikitty-struts" %>
+
+Elle s'utilise ensuite normalement comme un taglib en fonction de ses besoins.
+
+La TagLib fournit donc deux utilisations possibles, l'une pour l'édition
+complète d'un wikitty et l'autre pour l'intégration aisée de champ d'un wikitty
+au sein d'un formulaire.
+
+Les tags dans les deux types d'utilisations sont basiquement les mêmes, la mise
+en place différe.
+
+
+--------------------
+Edition d'un wikitty
+--------------------
+
+bases
++++++
+
+Avec la tag lib on peut créer des formulaires d'édition de wikitty, la tag lib
+fournit même le corps d'une action, abstraite, avec une seule méthode à
+implémenter, la méthode "getProxy()", qui doit permettre d'obtenir le
+wikittyProxy de l'application courante. Ensuite via un mapping classique
+struts avec le formulaire généré (en lui donnant évidement l'adresse de l'action
+mappée par struts) l'action remplira le wikitty avec les valeurs passées dans
+le formulaire.
+
+La création du formulaire passe par l'utilisation du tag **ws:form** :
+
+* id, l'id que possédera le formulaire html généré
+* name, le nom que possédera le formulaire html généré
+* wikitty, requit si entityBusiness non renseigné, wikitty objet de l'édition et donc du formulaire
+* entityBusiness, requit si wikitty non renseigné, entityBusiness objet de l'édition et donc du formulaire
+* proxy, wikitty proxy, requis
+* action, action cible du formulaire
+* redirect, champ caché pouvant être utilisé par l'action pour une redirection
+* include, gestion des champs à afficher dans le formulaire voir plus bas
+* exclude, gestion des champs à afficher dans le formulaire voir plus bas
+* order, permet d'ordonner l'affichage des champs dans le formulaire
+* orderBefore flag vrai/faux pour savoir si l'ordonancement des champs passe avant la redéfinition, voir plus bas
+* allowDelete flag vrai/faux pour savoir si l'on positionne un bouton de suppresion du wikitty
+
+
+Sélection des champs
+++++++++++++++++++++
+
+La sélection des champs à afficher se fait grâce aux attributs **include** et
+**exclude** du tag **ws:form**, par défaut si ils ne sont pas remplit, tout les
+champs du wikitty seront inclus dans le formulaire.
+
+Ensuite quoi qu'il advienne l'exclusion est prioritaire sur toute inclusion,
+si un champ apparait dans l'include et dans l'exclude, l'exclude sera
+prioritaire et le champ n'apparaitra pas.
+
+L'inclusion exclu ceux qui ne sont pas nommé, si le champ include est renseigné
+seulement les champs renseignés (sauf ceux expressément excluts par l'attribut
+exclude), les autres seront simplement ignoré, puisque non inclus.
+
+Pour nommer les champs et les inclures ou exclures il suffit de les lister
+par leur nom complet (fully qualified name): "extension.champ"; on peut aussi
+exclure ou inclure une extension compléte en remplaçant le nom du champ par
+le caractère "*" soit : "extension.\*". Pour lister les champs il suffit
+juste des les séparer par des virgules.
+
+Par exemple:
+
+exclude="wikittyPubData.*"
+include="WikittyPubData.mimeType, WikittyPubText.name, WikittyPubtext.content"
+
+Le champ wikittyPubData.mimeType ne sera pas inclus car il a été exclus par
+l'exclusion de l'extension compléte, et donc seulement les champs name et content
+de l'extension WikittyPubText seront inclus, même si le wikitty en possède
+d'autre ils seront ignoré, mais évidement préservé d'une éventuel modification
+par le formulaire.
+
+Le formulaire couplé à l'action ne modifie à la sauvegarde que les champs
+exposés dans le formulaire.
+
+
+Redéfinition de l'affichage
++++++++++++++++++++++++++++
+
+Par défaut en utilisant le tag **ws:form** les champs seront affichés comme
+des simples champs texte, voir champs texte multilignes pour certain. La
+redéfinition permet de forcer l'affichage des champs comme on pourrait le
+souhaiter, et pour celà à l'intérieur du tag **ws:form** on utilise les autres
+tag.
+
+La redéfinition ne change rien à la politique d'inclusion/exclusion, un champ
+non inclus/exclus même redéfini ne sera pas affiché.
+
+Ces champs ont en commun certains attributs :
+
+* id, id pour l'élément html correspondant généré
+* name, name pour l'élément html correspondant généré
+* label, label associé
+* fqFieldName, requis, fully qualified name correspondant au champ redéfini
+
+Les autres attributs sont spécifique à l'utilisation ou au type d'affichage
+et seront présentés en fin de ce document.
+
+
+Ordre d'affichage
++++++++++++++++++
+
+La définition de l'ordre d'apparition des champs peut se spécifier simplement,
+par défaut l'ordre sera l'ordre rencontré dans le wikitty. Pour spéficier
+l'ordre on remplit l'attribut order comme on le ferait pour les attributs
+include ou exclude.
+
+Il y a aussi le flag orderBefore, qui permet de définir si l'on doit ordonner
+les champs avant leurs redéfinitions, en ce cas seulement les champs spécifiés
+dans l'attribut **order**, ensuite les redéfinitions seront écrit, et enfin
+si il reste des champs à écrire ils seront écrit.
+
+Si l'orderBefore est faux, on écrit d'abord les redéfinitions, puis les champs
+ordonnés dans l'order, et enfin les champs non traité. Un champ ne peut pas être
+présent deux fois dans le formulaire, si il a été écrit avant la redéfinition
+la redéfinition n'est pas prise en compte.
+
+
+------------------
+Champ d'un wikitty
+------------------
+
+La tag lib peut s'utiliser donc dans le cadre de création de formulaire
+quelconques s'appuyant sur des wikitty. On doit donc pouvoir intégrer les
+valeurs d'un champs wikitty simplement, sous la forme que l'on souhaite dans un
+formulaire, un formulaire pas forcément d'édition de wikitty.
+
+Pour se faire on se ressert simplement des tags de la taglib mais sans les
+inclurent dans un tag **ws:form**.
+
+Par contre cette utilisation nécessite de remplir des attributs supplémentaire
+en plus de ceux génériques, ou ceux spécifiques à certain tag.
+
+* businessEntity, nécessaire si attribut wikitty non renseigné, businessEntity cible
+* wikitty, nécessaire si attribut businessEntity non renseigné, wikitty cible
+* proxy, pas pour tous, mais nécessaire pour certain
+
+
+--------------
+Liste des tags
+--------------
+
+On reprendra ici les tag avec leurs fonctions et leurs champs spécifiques,
+pour les champs communs se référer au reste du documents, ou à la TLD.
+
+Commun
+++++++
+
+* ws:hidden permet d'insérer le champ en tant que champs caché
+* ws:boolean permet d'insérer le champ en tant que checkbox
+* ws:textArea permet d'insérer le champ en tant que textArea
+* ws:textField permet d'insérer le champ en tant que textField
+* ws:date permet d'avoir un composant inteligent pour les dates **NON FONCTIONNEL**
+* ws:selectFixed permet d'afficher un combo box avec des valeurs fixées à l'avance, sera sélectionnée celle correspondant au champs wikitty lié
+
+Attributs spécifiques :
+
+ * fixvalues, liste des valeurs à afficher dans le combobox, valeurs séparées par des virgules
+
+* ws:selectCriteria permet d'afficher un combox box avec des wikitty, sera selectionnée le wikitty correspondant à l'id du wikitty du champ(utilisé donc dans le cadre de relation entre wikitty)
+
+Attributs spécifiques :
+
+ * descField, le champ wikitty à afficher dans la liste par défaut l'id
+ * criteria, le criteria de recherche des wikitty
+
+Spécifique à l'utilisation formulaire
++++++++++++++++++++++++++++++++++++++
+
+* ws:form tag pour la création d'un formulaire d'édition des wikitty
+
+Spécifique à l'utilisation champ
+++++++++++++++++++++++++++++++++
+
+* ws:selectAssociation tag pour l'affichage de champ wikitty de type collection
+
+Attributs spécifiques :
+
+ * size taille du select si 1 l'objet html sera un combobox, sinon une liste de sélection
+ * multiple flag vrai/faux pour autoriser ou non la sélection multiple
+ * descField, champ du wikitty à afficher dans la liste, dans le cas ou le champ est une collection de wikitty
+
+* ws:select tag pour l'affichage de collection de wikitty en tant que list ou combobox html
+
+Attributs spécifiques :
+
+ * wikittyValues, collection de de wikitty à afficher (
+ * entityValues, collection de d'entityBusiness à afficher
+ * size, taille du select si 1 l'objet html sera un combobox, sinon une liste de sélection
+ * descField, champ du wikitty à afficher dans la liste
+
1
0
r1118 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication/interceptor resources
by mfortun@users.nuiton.org 10 Aug '11
by mfortun@users.nuiton.org 10 Aug '11
10 Aug '11
Author: mfortun
Date: 2011-08-10 15:17:10 +0200 (Wed, 10 Aug 2011)
New Revision: 1118
Url: http://nuiton.org/repositories/revision/wikitty/1118
Log:
*correct interceptor
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java
trunk/wikitty-publication/src/main/resources/struts.xml
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-10 12:24:11 UTC (rev 1117)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-10 13:17:10 UTC (rev 1118)
@@ -26,6 +26,7 @@
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
+import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.entities.WikittyUser;
import org.nuiton.wikitty.publication.WikittyPublicationSession;
@@ -57,16 +58,22 @@
Map<String, Object> session = ActionContext.getContext().getSession();
-
+
+ // get wikittypublication context
+ String context = StringUtil.split(
+ invocation.getProxy().getActionName(), "/")[0];
+
+
WikittyPublicationSession pubSession = WikittyPublicationSession
- .getWikittyPublicationSession(session,"codelutin");
+ .getWikittyPublicationSession(session,context);
WikittyUser user = pubSession.getUser();
HttpServletRequest request = ServletActionContext.getRequest();
+
// Construct redirect url.
- String redirect = "codelutin/"+request.getContextPath() + error ;
+ String redirect = "/"+ context+request.getContextPath() + error ;
redirect += "?success="+request.getServletPath();
// If the user isn't logged in
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-10 12:24:11 UTC (rev 1117)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-10 13:17:10 UTC (rev 1118)
@@ -78,7 +78,7 @@
</package>
<!-- Action aviable only to logged user extends="restrictedArea" -->
- <package name="publication" extends="publicArea">
+ <package name="publication" extends="restrictedArea">
<action name="*/edit/*"
class="org.nuiton.wikitty.publication.action.PublicationActionEdit">
@@ -115,7 +115,7 @@
</action>
</package>
- <package name="fragment" namespace="/fragment" extends="publicArea">
+ <package name="fragment" namespace="/fragment" extends="restrictedArea">
<action name="wikittyInfo"
class="org.nuiton.wikitty.publication.action.PublicationActionRestoreWikitty">
<result>/WEB-INF/jsp/wikittyInfo.jsp</result>
1
0
r1117 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication java/org/nuiton/wikitty/publication/action java/org/nuiton/wikitty/publication/interceptor resources webapp webapp/WEB-INF/jsp
by mfortun@users.nuiton.org 10 Aug '11
by mfortun@users.nuiton.org 10 Aug '11
10 Aug '11
Author: mfortun
Date: 2011-08-10 14:24:11 +0200 (Wed, 10 Aug 2011)
New Revision: 1117
Url: http://nuiton.org/repositories/revision/wikitty/1117
Log:
*context handling for login/register action
Added:
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp
Removed:
trunk/wikitty-publication/src/main/webapp/login.jsp
trunk/wikitty-publication/src/main/webapp/register.jsp
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java
trunk/wikitty-publication/src/main/resources/struts.xml
trunk/wikitty-publication/src/main/webapp/index.jsp
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-10 12:24:11 UTC (rev 1117)
@@ -24,8 +24,12 @@
protected String securityToken = null;
transient protected WikittyUser user;
transient protected WikittyPublicationProxy proxy = null;
+ transient protected String context;
+
+
public WikittyPublicationSession(String context) {
+ this.context=context;
proxy = WikittyPublicationProxy.getInstance(null, context);
}
@@ -68,7 +72,6 @@
}
public void login(String context ,String login, String password) {
-
WikittyPublicationProxy proxy = getProxy(context);
proxy.login(login, password);
securityToken = proxy.getSecurityToken();
@@ -93,4 +96,13 @@
this.user = user;
}
+ public String getContext() {
+ return context;
+ }
+
+ public void setContext(String context) {
+ this.context = context;
+ }
+
+
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java 2011-08-10 12:24:11 UTC (rev 1117)
@@ -26,7 +26,9 @@
import org.nuiton.util.StringUtil;
+import com.opensymphony.xwork2.ActionContext;
+
/**
* Class used as an action login, call the login method on the proxy with
* login/password pass threw the login form
@@ -42,8 +44,12 @@
protected String error;
protected String success;
- static public String DEFAULT_ERROR = "login.jsp";
- static public String DEFAULT_SUCCESS = "index.jsp";
+
+ static public PublicationActionLogin getAction() {
+ return (PublicationActionLogin) ActionContext.getContext().get(
+ CONTEXT_ACTION_KEY);
+ }
+
public String getLogin() {
return login;
@@ -82,7 +88,7 @@
* this class
*/
public String execute() {
- String result = ERROR;
+ String result = INPUT;
if (login != null) {
login = login.trim();
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java 2011-08-10 12:24:11 UTC (rev 1117)
@@ -19,16 +19,11 @@
protected String login;
protected String password;
protected String repeatPassword;
- protected String context;
-
- public String getContext() {
- return context;
- }
- public void setContext(String context) {
- this.context = context;
- }
+
+
+
public String getLogin() {
return login;
}
@@ -73,7 +68,7 @@
*/
public String execute() {
String result = INPUT;
- context=getContextArgs();
+
try {
if (login != null) {
login = login.trim();
@@ -116,7 +111,7 @@
// TODO mfortun-2011-05-13 really handle exception
e.printStackTrace();
}
-
- return INPUT;
+
+ return result;
}
}
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 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionView.java 2011-08-10 12:24:11 UTC (rev 1117)
@@ -112,6 +112,8 @@
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) {
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-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java 2011-08-10 12:24:11 UTC (rev 1117)
@@ -40,8 +40,20 @@
protected Map<String, Object> session;
+ protected String context;
+
+ public String getContext() {
+ return context;
+ }
+
+ public void setContext(String context) {
+ this.context = context;
+ }
+
+
+
public WikittyPublicationSession getWikittyPublicationSession() {
WikittyPublicationSession result = WikittyPublicationSession
.getWikittyPublicationSession(session, getContextArgs());
@@ -64,7 +76,7 @@
* nom du critere doit etre convenablement positionné avec la chaine qui a
* permit la recherche
*
- * @param context
+ * @param contextvar
* @return
*/
protected Criteria searchCriteria(List<String> subContext) {
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-10 12:24:11 UTC (rev 1117)
@@ -72,10 +72,10 @@
// If the user isn't logged in
if (user == null) {
ServletActionContext.getResponse().sendRedirect(redirect);
+
} else {
result = invocation.invoke();
}
- result = invocation.invoke();
return result;
}
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-10 12:24:11 UTC (rev 1117)
@@ -61,13 +61,13 @@
<action name="*/register_*" method="{2}"
class="org.nuiton.wikitty.publication.action.PublicationActionRegister">
<param name="context">{1}</param>
- <result name="input">/register.jsp</result>
+ <result name="input">/WEB-INF/jsp/register.jsp</result>
<result type="redirect">${context}/view/.action</result>
</action>
- <action name="*/login_*" method="{1}"
+ <action name="*/login_*" method="{2}"
class="org.nuiton.wikitty.publication.action.PublicationActionLogin">
- <param name="context">{2}</param>
- <result name="input">login.jsp</result>
+ <param name="context">{1}</param>
+ <result name="input">/WEB-INF/jsp/login.jsp</result>
<result name="success" type="redirect">${success}</result>
<result name="error" type="redirect">${error}</result>
</action>
Copied: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp (from rev 1111, trunk/wikitty-publication/src/main/webapp/login.jsp)
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp (rev 0)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/login.jsp 2011-08-10 12:24:11 UTC (rev 1117)
@@ -0,0 +1,48 @@
+<%@page
+ import="org.nuiton.wikitty.publication.action.PublicationActionLogin"%>
+
+<%@ taglib prefix="s" uri="/struts-tags"%>
+
+<%
+ String successValue = request.getParameter("success");
+ String errorValue = request.getParameter("error");
+
+
+
+
+ if (successValue == null || successValue == "") {
+ successValue = PublicationActionLogin.getAction().getContext()+"/view/.action";
+ }
+
+ //TODO mfortun-2011-05-13 find how to have default value configured by struts
+ if (errorValue == null || errorValue == "") {
+ errorValue = "login_input.action" + "?success="
+ + request.getParameter("success");
+ }
+%>
+
+ <s:url var="urlLogin" action="login" namespace="/%{context}" />
+<s:form action="%{urlLogin}">
+ <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=" :" label="%{publication.login.login}" />
+ <br /> <br />
+ <s:password key="password" name="password" labelposition="top"
+ labelSeparator=" :" label="%{publication.login.password}" />
+ <br /> <br />
+ <s:submit key="publication.login.submit" name="submit"
+ value="%{publication.login.submit}" />
+ </p>
+</s:form>
\ No newline at end of file
Copied: trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp (from rev 1111, trunk/wikitty-publication/src/main/webapp/register.jsp)
===================================================================
--- trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp (rev 0)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/register.jsp 2011-08-10 12:24:11 UTC (rev 1117)
@@ -0,0 +1,44 @@
+
+<%@taglib prefix="s" uri="/struts-tags"%>
+<div id="content">
+ <div id="formFrame" class="fond">
+ <h1>
+ <s:text name="Register" />
+ </h1>
+ <s:url var="urlRegister" action="register" namespace="/%{context}" />
+
+ <s:form action="%{urlRegister}">
+ <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"
+ 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:submit key="publication.register.submit" name="submit"
+ value="%{publication.register.submit}" />
+ </p>
+ </s:form>
+ <s:a action="login_input" id="loginLink">
+ <s:text name="login" />
+ </s:a>
+ </div>
+
+</div>
\ No newline at end of file
Modified: trunk/wikitty-publication/src/main/webapp/index.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/index.jsp 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/webapp/index.jsp 2011-08-10 12:24:11 UTC (rev 1117)
@@ -1,14 +1,8 @@
-
-
-<%@page
- import="org.nuiton.wikitty.publication.WikittyPublicationSession"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
out.println("hello !");
- WikittyPublicationSession wpSession = WikittyPublicationSession
- .getWikittyPublicationSession(session);
%>
<s:url var="urlviewpage" action="wiki/view/" />
@@ -24,18 +18,5 @@
-<!--
- <s:url var="regenPermToken" action="regenPermToken"/>
- <s:a href="%{regenPermToken}" id="regenPermToken">
- <s:text name="bow.preferences.regenPermToken"/>
- </s:a>
-(17:06:03) blabla(a)conference.im.codelutin.com/sletellier:
- <s:url var="homeToken" action="home">
- <s:param name="token"><s:property value="%{#session.BowSession.getPermanentToken()}" /></s:param>
- </s:url>
-
- -->
-
-
Deleted: trunk/wikitty-publication/src/main/webapp/login.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/login.jsp 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/webapp/login.jsp 2011-08-10 12:24:11 UTC (rev 1117)
@@ -1,49 +0,0 @@
-
-
-
-<%@page
- import="org.nuiton.wikitty.publication.action.PublicationActionLogin"%>
-<%@page
- import="org.nuiton.wikitty.publication.WikittyPublicationSession"%>
-<%@ taglib prefix="s" uri="/struts-tags"%>
-
-<%
- String successValue = request.getParameter("success");
- String errorValue = request.getParameter("error");
-
- if (successValue == null || successValue == "") {
- successValue = PublicationActionLogin.DEFAULT_SUCCESS;
- }
-
- //TODO mfortun-2011-05-13 find how to have default value configured by struts
- if (errorValue == null || errorValue == "") {
- errorValue = "login_input.action" + "?success="
- + request.getParameter("success");
- }
-%>
-
-
-<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=" :" label="%{publication.login.login}" />
- <br /> <br />
- <s:password key="password" name="password" labelposition="top"
- labelSeparator=" :" label="%{publication.login.password}" />
- <br /> <br />
- <s:submit key="publication.login.submit" name="submit"
- value="%{publication.login.submit}" />
- </p>
-</s:form>
\ No newline at end of file
Deleted: trunk/wikitty-publication/src/main/webapp/register.jsp
===================================================================
--- trunk/wikitty-publication/src/main/webapp/register.jsp 2011-08-09 15:51:42 UTC (rev 1116)
+++ trunk/wikitty-publication/src/main/webapp/register.jsp 2011-08-10 12:24:11 UTC (rev 1117)
@@ -1,42 +0,0 @@
-
-<%@taglib prefix="s" uri="/struts-tags"%>
-<div id="content">
- <div id="formFrame" class="fond">
- <h1>
- <s:text name="Register" />
- </h1>
- <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"
- 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:submit key="publication.register.submit" name="submit"
- value="%{publication.register.submit}" />
- </p>
- </s:form>
- <s:a action="login_input" id="loginLink">
- <s:text name="login" />
- </s:a>
- </div>
-
-</div>
\ No newline at end of file
1
0
r1116 - in trunk/wikitty-publication/src/main: java/org/nuiton/wikitty/publication java/org/nuiton/wikitty/publication/action java/org/nuiton/wikitty/publication/interceptor resources 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 17:51:42 +0200 (Tue, 09 Aug 2011)
New Revision: 1116
Url: http://nuiton.org/repositories/revision/wikitty/1116
Log:
*restore context concept inside wikitty-publication still need to repare login/register mechanism
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationConfig.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationContext.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java
trunk/wikitty-publication/src/main/resources/struts.xml
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties
trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties
trunk/wikitty-publication/src/main/resources/wikitty-publication.properties
trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp
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-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationConfig.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -1,10 +1,15 @@
package org.nuiton.wikitty.publication;
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Properties;
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.WikittyConfig;
+import org.nuiton.wikitty.WikittyConfigOption;
import static org.nuiton.i18n.I18n._;
@@ -13,51 +18,81 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(WikittyPublicationConfig.class);
- static protected ApplicationConfig instance = null;
+ static final public String CONFIG_FILE_KEY = "wikitty.publication.config.pattern";
+ static final public String DEFAULT_FILE_COMPLEMENT = "default";
+ static protected Map<String, ApplicationConfig> instanceMap = new HashMap<String, ApplicationConfig>();
private WikittyPublicationConfig() {
+
}
-
- static public ApplicationConfig getConfig() {
- return getConfig(null, null);
+ static public ApplicationConfig getConfig(String Context) {
+ return getConfig(null, null, Context);
}
static public ApplicationConfig getConfig(Properties props,
- String configFilename, String... args) {
+ String configFilename, String wsContext, String... args) {
ApplicationConfig conf = new ApplicationConfig(Option.class, null,
props, configFilename);
+ try {
+ conf.parse(null);
+ } catch (ArgumentsParserException e) {
+ e.printStackTrace();
+ }
+ String patternConfigFilename = conf.getOption(CONFIG_FILE_KEY);
+
+ // load default configuration for all wikitty service
+ String filename = String.format(patternConfigFilename,
+ DEFAULT_FILE_COMPLEMENT);
+ log.info(String.format("Try to load config file '%s'", filename));
+ ApplicationConfig wsConfigDefault;
+
+ wsConfigDefault = WikittyConfig.getConfig(filename);
+
+ // change just data dir with context path
+ String dataDir = wsConfigDefault
+ .getOption(WikittyConfigOption.WIKITTY_DATA_DIR.getKey());
+ wsConfigDefault.setOption(
+ WikittyConfigOption.WIKITTY_DATA_DIR.getKey(), dataDir
+ + File.separator + wsContext);
+
+ // read specific 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 = null;
try {
- conf.parse(args);
+ wsConfig = new ApplicationConfig(
+ wsConfigDefault.getFlatOptions(false));
+ wsConfig.setConfigFileName(filename);
+ wsConfig.parse(null);
} catch (ArgumentsParserException eee) {
if (log.isErrorEnabled()) {
log.error("Can't load Wikitty Publication configuration", eee);
}
}
- return conf;
+
+ return wsConfig;
}
- public static ApplicationConfig getInstance() {
- if (instance == null) {
+ public static ApplicationConfig getInstance(String context) {
+ if (!instanceMap.containsKey(context)) {
synchronized (WikittyPublicationConfig.class) {
- if (instance == null) {
- instance = WikittyPublicationConfig.getConfig();
+ if (!instanceMap.containsKey(context)) {
+ instanceMap.put(context,
+ WikittyPublicationConfig.getConfig(context));
}
}
}
- return instance;
+ return instanceMap.get(context);
}
-
public enum Option implements ApplicationConfig.OptionDef {
CONFIG_FILE(ApplicationConfig.CONFIG_FILE_NAME,
_("wikitty-publication.config.configFileName.description"),
- "wikitty-publication-ws-fallback.properties", String.class, false,
- false);
+ "wikitty-publication.properties", String.class, false, false);
-
public final String key;
public final String description;
public String defaultValue;
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationProxy.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -1,12 +1,13 @@
package org.nuiton.wikitty.publication;
+import java.util.HashMap;
+import java.util.Map;
+
import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyServiceFactory;
-
-
/**
* Proxy implementation for wikitty publication, that handle instance of the
* wikitty service
@@ -16,43 +17,40 @@
*/
public class WikittyPublicationProxy extends WikittyProxy {
-
/**
*
*/
private static final long serialVersionUID = -568462410130999972L;
- static protected WikittyService service = null;
+ static protected Map<String, WikittyService> mapService = new HashMap<String, WikittyService>();
- private WikittyPublicationProxy(ApplicationConfig config,
- WikittyService ws) {
- super (config, ws);
+ private WikittyPublicationProxy(ApplicationConfig config, WikittyService ws) {
+ super(config, ws);
}
-
- static public WikittyPublicationProxy getInstance(String token) {
- ApplicationConfig config = WikittyPublicationConfig.getInstance();
- WikittyService ws = getWikittyService(config);
+ static public WikittyPublicationProxy getInstance(String token,
+ String context) {
+ ApplicationConfig config = WikittyPublicationConfig
+ .getInstance(context);
+ WikittyService ws = getWikittyService(config, context);
WikittyPublicationProxy result = new WikittyPublicationProxy(config, ws);
result.setSecurityToken(token);
return result;
}
- static protected WikittyService getWikittyService(ApplicationConfig config) {
- if (service == null) {
+ static protected WikittyService getWikittyService(ApplicationConfig config,
+ String context) {
+ if (!mapService.containsKey(context)) {
synchronized (WikittyPublicationProxy.class) {
- if (service == null) {
- service = WikittyServiceFactory.buildWikittyService(config);
+ if (!mapService.containsKey(context)) {
+ mapService.put(context,
+ WikittyServiceFactory.buildWikittyService(config));
}
}
}
- return service;
+ return mapService.get(context);
}
-
-
-
-
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPublicationSession.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -25,8 +25,8 @@
transient protected WikittyUser user;
transient protected WikittyPublicationProxy proxy = null;
- public WikittyPublicationSession() {
- proxy = WikittyPublicationProxy.getInstance(null);
+ public WikittyPublicationSession(String context) {
+ proxy = WikittyPublicationProxy.getInstance(null, context);
}
/**
@@ -39,45 +39,46 @@
}
static public WikittyPublicationSession getWikittyPublicationSession(
- HttpServletRequest request) {
+ HttpServletRequest request, String context) {
HttpSession session = request.getSession();
- WikittyPublicationSession result = getWikittyPublicationSession(session);
+ WikittyPublicationSession result = getWikittyPublicationSession(session, context);
return result;
}
static public WikittyPublicationSession getWikittyPublicationSession(
- HttpSession httpSession) {
+ HttpSession httpSession, String context) {
WikittyPublicationSession result = (WikittyPublicationSession) httpSession
.getAttribute(WIKITTY_PUBLICATION_SESSION_KEY);
if (result == null) {
- result = new WikittyPublicationSession();
+ result = new WikittyPublicationSession(context);
httpSession.setAttribute(WIKITTY_PUBLICATION_SESSION_KEY, result);
}
return result;
}
static public WikittyPublicationSession getWikittyPublicationSession(
- Map<String, Object> session) {
+ Map<String, Object> session, String context) {
WikittyPublicationSession result = (WikittyPublicationSession) session
.get(WIKITTY_PUBLICATION_SESSION_KEY);
if (result == null) {
- result = new WikittyPublicationSession();
+ result = new WikittyPublicationSession(context);
session.put(WIKITTY_PUBLICATION_SESSION_KEY, result);
}
return result;
}
- public void login(String login, String password) {
+ public void login(String context ,String login, String password) {
- getProxy().login(login, password);
- securityToken = getProxy().getSecurityToken();
- user = getProxy().getUser();
+ WikittyPublicationProxy proxy = getProxy(context);
+ proxy.login(login, password);
+ securityToken = proxy.getSecurityToken();
+ user = proxy.getUser();
}
- public WikittyPublicationProxy getProxy() {
+ public WikittyPublicationProxy getProxy(String context) {
if (proxy == null) {
- proxy = WikittyPublicationProxy.getInstance(securityToken);
+ proxy = WikittyPublicationProxy.getInstance(securityToken, context);
}
return proxy;
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 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionEval.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -14,14 +14,12 @@
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
-import org.nuiton.util.ApplicationConfig;
import org.nuiton.util.StringUtil;
import org.nuiton.wikitty.ScriptEvaluator;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.entities.Wikitty;
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;
@@ -244,10 +242,6 @@
return request;
}
- @Override
- public ApplicationConfig getAppConfig() {
- return WikittyPublicationConfig.getConfig();
- }
@Override
public String makeUrl(String url) {
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionLogin.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -92,7 +92,7 @@
try {
- getWikittyPublicationSession().login(login, md5);
+ getWikittyPublicationSession().login(getContextArgs(),login, md5);
result = SUCCESS;
} catch (Exception e) {
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationActionRegister.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -19,7 +19,16 @@
protected String login;
protected String password;
protected String repeatPassword;
+ protected String context;
+
+ public String getContext() {
+ return context;
+ }
+ public void setContext(String context) {
+ this.context = context;
+ }
+
public String getLogin() {
return login;
}
@@ -64,7 +73,7 @@
*/
public String execute() {
String result = INPUT;
-
+ context=getContextArgs();
try {
if (login != null) {
login = login.trim();
@@ -107,6 +116,7 @@
// TODO mfortun-2011-05-13 really handle exception
e.printStackTrace();
}
- return result;
+
+ return INPUT;
}
}
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-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationBaseAction.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -44,13 +44,13 @@
public WikittyPublicationSession getWikittyPublicationSession() {
WikittyPublicationSession result = WikittyPublicationSession
- .getWikittyPublicationSession(session);
+ .getWikittyPublicationSession(session, getContextArgs());
return result;
}
public WikittyPublicationProxy getWikittyPublicationProxy() {
WikittyPublicationProxy result = getWikittyPublicationSession()
- .getProxy();
+ .getProxy(getContextArgs());
return result;
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationContext.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationContext.java 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/action/PublicationContext.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -34,9 +34,6 @@
public abstract HttpServletRequest getRequest();
public abstract HttpServletResponse getResponse();
-
- public abstract ApplicationConfig getAppConfig();
-
public abstract WikittyProxy getWikittyProxy();
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/interceptor/LoginInterceptor.java 2011-08-09 15:51:42 UTC (rev 1116)
@@ -53,19 +53,20 @@
@Override
public String intercept(ActionInvocation invocation) throws Exception {
-
+ String result = null;
+
+
Map<String, Object> session = ActionContext.getContext().getSession();
WikittyPublicationSession pubSession = WikittyPublicationSession
- .getWikittyPublicationSession(session);
+ .getWikittyPublicationSession(session,"codelutin");
WikittyUser user = pubSession.getUser();
- String result = null;
+
HttpServletRequest request = ServletActionContext.getRequest();
-
// Construct redirect url.
- String redirect = request.getContextPath() + error ;
+ String redirect = "codelutin/"+request.getContextPath() + error ;
redirect += "?success="+request.getServletPath();
// If the user isn't logged in
@@ -74,7 +75,7 @@
} else {
result = invocation.invoke();
}
-
+ result = invocation.invoke();
return result;
}
Modified: trunk/wikitty-publication/src/main/resources/struts.xml
===================================================================
--- trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/resources/struts.xml 2011-08-09 15:51:42 UTC (rev 1116)
@@ -58,18 +58,20 @@
</package>
<package name="login" extends="loginArea">
- <action name="register_*" method="{1}"
+ <action name="*/register_*" method="{2}"
class="org.nuiton.wikitty.publication.action.PublicationActionRegister">
+ <param name="context">{1}</param>
<result name="input">/register.jsp</result>
- <result type="redirect">/index.jsp</result>
+ <result type="redirect">${context}/view/.action</result>
</action>
- <action name="login_*" method="{1}"
+ <action name="*/login_*" method="{1}"
class="org.nuiton.wikitty.publication.action.PublicationActionLogin">
+ <param name="context">{2}</param>
<result name="input">login.jsp</result>
<result name="success" type="redirect">${success}</result>
<result name="error" type="redirect">${error}</result>
</action>
- <action name="logout"
+ <action name="*/logout"
class="org.nuiton.wikitty.publication.action.PublicationActionLogout">
<result type="redirect">${success}</result>
</action>
Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-codelutin.properties 2011-08-09 15:51:42 UTC (rev 1116)
@@ -22,4 +22,5 @@
# <http://www.gnu.org/licenses/lgpl-3.0.html>.
# #L%
###
-wikitty.data.directory=/var/lib/wikitty-publication/codelutin/
+#wikitty.data.directory=/var/lib/wikitty-publication/codelutin/
+wikitty.service.server.url=http://localhost:2222/wikitty
\ No newline at end of file
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-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-09 15:51:42 UTC (rev 1116)
@@ -41,8 +41,7 @@
org.nuiton.wikitty.services.WikittyServiceNotifier,\
org.nuiton.wikitty.services.WikittyServiceCached,\
org.nuiton.wikitty.services.WikittyServiceSecurity,\
-org.nuiton.wikitty.services.WikittyServiceAccessStat,\
-org.nuiton.wikitty.services.WikittyServiceCajoServer
+org.nuiton.wikitty.services.WikittyServiceAccessStat
wikitty.WikittyServiceStorage.components=org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC,\
org.nuiton.wikitty.jdbc.WikittyStorageJDBC,\
Modified: trunk/wikitty-publication/src/main/resources/wikitty-publication.properties
===================================================================
--- trunk/wikitty-publication/src/main/resources/wikitty-publication.properties 2011-08-09 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/resources/wikitty-publication.properties 2011-08-09 15:51:42 UTC (rev 1116)
@@ -23,8 +23,3 @@
# #L%
###
wikitty.publication.config.pattern=wikitty-publication-ws-%s.properties
-wikitty.publication.action.edit=org.nuiton.wikitty.publication.ActionEdit
-wikitty.publication.action.eval=org.nuiton.wikitty.publication.ActionEval
-wikitty.publication.action.raw=org.nuiton.wikitty.publication.ActionRaw
-wikitty.publication.action.view=org.nuiton.wikitty.publication.ActionView
-wikitty.publication.action.login=org.nuiton.wikitty.publication.ActionLogin
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 10:24:08 UTC (rev 1115)
+++ trunk/wikitty-publication/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-09 15:51:42 UTC (rev 1116)
@@ -44,8 +44,6 @@
<sj:head jquerytheme="default"/>
<%
- WikittyPublicationSession wpSession = WikittyPublicationSession
- .getWikittyPublicationSession(session);
PublicationActionView action = PublicationActionView
.getAction();
1
0