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
- 1653 discussions
r1126 - trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication
by mfortun@users.nuiton.org 12 Aug '11
by mfortun@users.nuiton.org 12 Aug '11
12 Aug '11
Author: mfortun
Date: 2011-08-12 10:31:22 +0200 (Fri, 12 Aug 2011)
New Revision: 1126
Url: http://nuiton.org/repositories/revision/wikitty/1126
Log:
*mimetype/file extension maping handled within properties file
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.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 16:30:05 UTC (rev 1125)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-12 08:31:22 UTC (rev 1126)
@@ -24,8 +24,13 @@
*/
package org.nuiton.wikitty.publication;
+import java.io.IOException;
+import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
import javax.script.ScriptEngineManager;
import org.apache.commons.collections.BidiMap;
import org.apache.commons.collections.bidimap.DualHashBidiMap;
@@ -76,20 +81,25 @@
decorator = new UiCodeDecorator();
this.compilable = new LinkedList<String>();
bidiMap = new DualHashBidiMap();
-
-
manager = ScriptEvaluator.getScriptEnginManager(null);
+ compilable.add("text/java");
- // TODO mfortun-2011-08-11 need to load thos properties from the file
+ InputStream input = MimeTypePubHelper.class.getResourceAsStream("/mimetype.properties");
- bidiMap.put("wp", "text/javascript");
- bidiMap.put("htmljs", "text/html.javascript");
- bidiMap.put("jpg", "image/jpeg");
- bidiMap.put("png", "image/png");
- bidiMap.put("java", "text/java");
- compilable.add("application/java");
+ Properties mimeProps = new Properties();
+ try {
+ mimeProps.load(input);
+
+ } catch (IOException e) {
+ // TODO mfortun-2011-08-12 handle exception ?
+ e.printStackTrace();
+ }
+ for ( Map.Entry<Object, Object> en : mimeProps.entrySet()){
+ bidiMap.put(en.getValue(), en.getKey());
+ }
+
/*
*
* si type commence par text alors -> pubtext
@@ -98,6 +108,8 @@
*
*
*/
+
+
}
1
0
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