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
r1205 - in trunk: . wikitty-api wikitty-api/src/license wikitty-dto/src/license wikitty-generators wikitty-solr wikitty-solr/src/license
by maven-release@users.nuiton.org 30 Aug '11
by maven-release@users.nuiton.org 30 Aug '11
30 Aug '11
Author: maven-release
Date: 2011-08-30 14:08:41 +0200 (Tue, 30 Aug 2011)
New Revision: 1205
Url: http://nuiton.org/repositories/revision/wikitty/1205
Log:
prepare wikitty release
Modified:
trunk/pom.xml
trunk/wikitty-api/pom.xml
trunk/wikitty-api/src/license/THIRD-PARTY.properties
trunk/wikitty-dto/src/license/THIRD-PARTY.properties
trunk/wikitty-generators/pom.xml
trunk/wikitty-solr/pom.xml
trunk/wikitty-solr/src/license/THIRD-PARTY.properties
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/pom.xml 2011-08-30 12:08:41 UTC (rev 1205)
@@ -399,7 +399,7 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
- <version>${deploySiteVersion}</version>
+ <version>${sitePluginVersion}</version>
</dependency>
<dependency>
@@ -524,19 +524,6 @@
<artifactId>plexus-utils</artifactId>
<version>1.5.15</version>
</dependency>
-
- <!-- Maven plugin for wikitty publication specific dependency -->
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <version>${jettyPluginVersion}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>${sitePluginVersion}</version>
- </dependency>
</dependencies>
Modified: trunk/wikitty-api/pom.xml
===================================================================
--- trunk/wikitty-api/pom.xml 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/wikitty-api/pom.xml 2011-08-30 12:08:41 UTC (rev 1205)
@@ -255,16 +255,16 @@
<!-- Commented because some test are in fail :
http://www.nuiton.org/issues/show/1160
- and http://www.nuiton.org/issues/show/1160-->
+ and http://www.nuiton.org/issues/show/1161-->
<profile>
<id>run-its</id>
- <activation>
+ <!--activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
- </activation>
+ </activation-->
<build>
<defaultGoal>integration-test</defaultGoal>
<plugins>
Modified: trunk/wikitty-api/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-api/src/license/THIRD-PARTY.properties 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/wikitty-api/src/license/THIRD-PARTY.properties 2011-08-30 12:08:41 UTC (rev 1205)
@@ -19,9 +19,8 @@
# Please fill the missing licenses for dependencies :
#
#
-#Thu Aug 18 08:18:18 CEST 2011
+#Tue Aug 30 13:58:45 CEST 2011
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
-dom4j--dom4j--1.6.1=BSD License
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
xpp3--xpp3_min--1.1.3.4.O=Indiana University Extreme\! Lab Software License, vesion 1.1.1
Modified: trunk/wikitty-dto/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-dto/src/license/THIRD-PARTY.properties 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/wikitty-dto/src/license/THIRD-PARTY.properties 2011-08-30 12:08:41 UTC (rev 1205)
@@ -15,17 +15,12 @@
# - Public domain
# - TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
# - The Apache Software License, Version 2.0
-# - http://jaxen.codehaus.org/license.html
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Thu Aug 18 08:18:39 CEST 2011
+#Tue Aug 30 13:59:05 CEST 2011
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
-dom4j--dom4j--1.6.1=BSD License
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-jaxen--jaxen--1.1.1=http\://jaxen.codehaus.org/license.html
-jdom--jdom--1.0=The Apache Software License, Version 2.0
-xalan--xalan--2.6.0=The Apache Software License, Version 2.0
xpp3--xpp3_min--1.1.3.4.O=Indiana University Extreme\! Lab Software License, vesion 1.1.1
Modified: trunk/wikitty-generators/pom.xml
===================================================================
--- trunk/wikitty-generators/pom.xml 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/wikitty-generators/pom.xml 2011-08-30 12:08:41 UTC (rev 1205)
@@ -26,6 +26,10 @@
<artifactId>commons-logging</artifactId>
</dependency>
<dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+ <dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
Modified: trunk/wikitty-solr/pom.xml
===================================================================
--- trunk/wikitty-solr/pom.xml 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/wikitty-solr/pom.xml 2011-08-30 12:08:41 UTC (rev 1205)
@@ -59,12 +59,13 @@
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
</dependency>
-
+
<dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <scope>runtime</scope>
+ <groupId>org.jboss.jbossts</groupId>
+ <artifactId>jbossjta</artifactId>
+ <scope>compile</scope>
</dependency>
+
<dependency>
<groupId>commons-logging</groupId>
Modified: trunk/wikitty-solr/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-solr/src/license/THIRD-PARTY.properties 2011-08-30 11:09:30 UTC (rev 1204)
+++ trunk/wikitty-solr/src/license/THIRD-PARTY.properties 2011-08-30 12:08:41 UTC (rev 1205)
@@ -21,14 +21,12 @@
# Please fill the missing licenses for dependencies :
#
#
-#Thu Aug 18 08:18:43 CEST 2011
+#Tue Aug 30 14:05:53 CEST 2011
antlr--antlr--2.7.2=BSD License
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
dom4j--dom4j--1.1=BSD License
-dom4j--dom4j--1.6.1=BSD License
jakarta-regexp--jakarta-regexp--1.4=The Apache Software License, Version 2.0
-javax.servlet--servlet-api--2.5=Common Development and Distribution License (CDDL) v1.0
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
org.apache.zookeeper--zookeeper--3.3.1=The Apache Software License, Version 2.0
oro--oro--2.0.8=The Apache Software License, Version 2.0
1
0
Author: mfortun
Date: 2011-08-30 13:09:30 +0200 (Tue, 30 Aug 2011)
New Revision: 1204
Url: http://nuiton.org/repositories/revision/wikitty/1204
Log:
checkpoint for how to doc
Modified:
trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
trunk/wikitty-publication/src/site/doc/Outils_publication.rst
Modified: trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-30 10:32:56 UTC (rev 1203)
+++ trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-30 11:09:30 UTC (rev 1204)
@@ -6,33 +6,67 @@
Comment faire ?
---------------
+Pour faire une application pour Wikitty Publication ce n'est pas compliqué.
+Il y a deux solutions:
Depuis un système de fichier
****************************
+L'idéal est utilisé le plugin maven prévu à cet effet.
+Il faut un Pom élémentaire comme présenté dans la doc outils_publication, et
+d'initiliser le repo local avec la commande wp:init et de bien respecter
+les endroit où mettre les fichiers:
-Utiliser le plug in maven
-avec le pom élémentaire
-se régéffer à la doc sur les outils pour connaitre les goals.
+src/main/wp
+ #toute les pages
+src/main/ressources/images
+ #stocker les images
+src/main/ressources/jar
+ #stoker les jars
-goal init
-et après on code au bon endroit
+Comme cela est fait dans l'exemple fournit dans Wikitty Publication.
-exemple parlant
+Dans le cas où l'on developpe sur un système de fichier il faut faire attention
+au extension des fichiers auquelles corresponds leurs mime type, celon le mapping
+contenu dans l'application soit par défaut:
+text/javascript=wp
+text/html.javascript=htmljs
+text/html.java=htmlja
+image/jpeg=jpg
+image/png=png
+text/java=java
+application/jar=jar
+application/uml.jar=zargo
+
+Les mime type déterminent les langages présent dans les fichiers et donc
+comment ils seront éxécuté, pour en savoir plus voir la documentation sur
+Wikitty Publication Web Application ou celle traitant de l'ajout de langage.
+
+
Directement dans le Navigateur
******************************
+Une autre solution est de modifier creer ses wikitty directement par
+l'intermédiaire de l'interface d'édition, comme dans un wiki.
+Néanmoins cette solution ne permet que de créer des wikitty dont l'extension
+existe déjà dans le WikittyService.
-uniquement des wikitty dont les extensions existe déja
-WikittyPubText pour le code
-WikittyPubData pour image/ tout ce qui est binaire
+Sinon l'interface permet de créer/modifier n'importe quel type de wikitty.
+On ajouter les extentions que l'on veut au wikitty et remplir les champs.
+Interface d'édition:
+
+ /[contextData]/edit/.action (avec contextData ce qu'on veut, voir la partie sur le war pour savoir à quoi cela correspond)
+
Quoi mettre dans le code ?
--------------------------
En quoi l'écrire
****************
+
+
+
Langage le bon mime type
@@ -41,6 +75,7 @@
Bindings
********
+Les bindings sont des éléments important dans
@@ -56,23 +91,68 @@
Détails de l'exemple
--------------------
+Dans Wikitty Publication se trouve un exemple d'application dans
+/src/site/exemple, l'exemple est éclaté en deux "projet".
+Le projet resourceEntity:
+ resourceEntity/
+ |-- changelog.txt
+ |-- LICENSE.tx
+ |-- LICENSE.txt
+ |-- pom.xml
+ |-- README.txt
+ `-- src
+ `-- main
+ |-- java
+ |-- resources
+ `-- xmi
+ |-- wp-resource.properties
+ |-- wp-resource.zargo
-Faire des entités avec wikitty
+ResourceEntity est un mini projet d'utilisation de Wikitty et création d'entity
+et des nouvelles extensions de wikitty. Pour pouvoir utiliser resourceAppli
+il faut contruire le jar de resourceEntity, puisque les entités sont utilisé
+à l'intérieur.
+Le projet resourceAppli:
+ resourceAppli/
+ |-- pom.xml
+ `-- src
+ `-- main
+ |-- resources
+ | |-- images
+ | | `-- wikittypubuml.png
+ | `-- jar
+ `-- wp
+ |-- clearProxy.java
+ |-- dummy.htmljs
+ |-- Javahtml.htmlja
+ |-- JavaView.java
+ |-- resources.htmljs
+ |-- SelfModify.htmljs
+ |-- Test.java
+ `-- view.htmljs
+Ce projet est le "parfait" exemple d'utilisation, l'architecture à été initialisé
+avec la commande wp:init. Pour le faire fonctionner il faut rajouter le jar
+correspondant au projet resourceEntity dans le dossier src/main/resources/jar.
+Et lancer la commande wp:run.
-Expliquer le cheminement faire
-un pom prendre en exemple l'exemple en détaillant le tout.
+L'application sera disponible à l'adresse:
+ * http://localhost:8080/[contextData]/view/.action (avec contextData ce qu'on veut, voir la partie sur le war pour savoir à quoi cela correspond)
+Fichier de l'application:
+ * clearProxy.java, va supprimer tout les wikitty du proxy (sauf ceux de l'application)
+ * dummy.htmljs, exemple d'utilisation de post
+ * Javahtml.htmlja, intégration d'interface html avec du java
+ * JavaView.java, exemple avec du java corps de méthode sans signature
+ * resources.htmljs, permet de créer des resources Entity: intégration d'ihm, mécanisme post, utilisation des bindings, instanciation de java dans du javascript.
+ * view.htmljs, permet de faire des réservations de ressource: intégration d'ihm, mécanisme post, utilisation des bindings, instanciation de java dans du javascript.
+ * Test.java, dummy exemple
+ * SelfModify.htmljs, un wikitty pub text qui se tripote le content.
-Faire ses entités
-dévelloper classiquement en javascript avec les bindings
-Possibilité des bindings
-
-et le java pour manipuler les entitées
Modified: trunk/wikitty-publication/src/site/doc/Outils_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-30 10:32:56 UTC (rev 1203)
+++ trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-30 11:09:30 UTC (rev 1204)
@@ -115,6 +115,20 @@
* [uploadUrl] url d'envoi pour le serveur
* [publicationVersion] la version du war de Wikitty Publication à utiliser pour les tests locaux.
+De plus si l'on déclare des dépendances dans ce pom, de façon "classique" par
+exemple:
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <version>1.2.2</version>
+ </dependency>
+ </dependencies>
+
+Les dépendances seront automatiquement téléchargées et ajoutées dans le dossier
+adéquat.
+
Goals Disponibles
*****************
@@ -133,11 +147,14 @@
src/main/ressources/images
#stocker les images
src/main/ressources/jar
- #stoker les binaires
+ #stoker les jars
wp:run pour lancer l'application sur un serveur local avec le war de Wikitty
-Publication avec la version en paramètre.
+Publication avec la version en paramètre. Adresse:
+
+ * http://localhost:8080/[contextData]/view/.action (avec contextData ce qu'on veut, voir la partie sur le war pour savoir à quoi cela correspond)
+
wp:deploy pour déployer l'application sur le WikittyService [wikittyServiceUrl]
(utilisation de la synchronisation) avec la bonne architecture:
@@ -146,7 +163,7 @@
[applicationName].ressources.images
#stocker les images
[applicationName].ressources.jar
- #stoker les binaires
+ #stoker les jars
wp:update pour mettre à jour sur le WikittyService [wikittyServiceUrl]
(utilisation de la synchronisation)
1
0
r1203 - in trunk: wikitty-publication/src/site/doc wikitty-publication-ui/src/main/webapp wikitty-publication-ui/src/main/webapp/WEB-INF/jsp wp-maven-plugin
by mfortun@users.nuiton.org 30 Aug '11
by mfortun@users.nuiton.org 30 Aug '11
30 Aug '11
Author: mfortun
Date: 2011-08-30 12:32:56 +0200 (Tue, 30 Aug 2011)
New Revision: 1203
Url: http://nuiton.org/repositories/revision/wikitty/1203
Log:
*restore pom
*small change for better navigation between page
Modified:
trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/edit.jsp
trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/view.jsp
trunk/wikitty-publication-ui/src/main/webapp/index.jsp
trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
trunk/wp-maven-plugin/pom.xml
Modified: trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-30 09:44:53 UTC (rev 1202)
+++ trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-30 10:32:56 UTC (rev 1203)
@@ -3,14 +3,63 @@
==============================================
:Authors: Manoël Fortun
+Comment faire ?
+---------------
-Passer par le navigateur
+Depuis un système de fichier
+****************************
-Initialiser un repository local avec un pom
+Utiliser le plug in maven
+avec le pom élémentaire
+se régéffer à la doc sur les outils pour connaitre les goals.
+goal init
+et après on code au bon endroit
+exemple parlant
+Directement dans le Navigateur
+******************************
+
+uniquement des wikitty dont les extensions existe déja
+WikittyPubText pour le code
+WikittyPubData pour image/ tout ce qui est binaire
+
+
+Quoi mettre dans le code ?
+--------------------------
+
+En quoi l'écrire
+****************
+
+Langage le bon mime type
+
+
+faire des UI
+
+Bindings
+********
+
+
+
+
+Choses possibles avec les Bindings
+**********************************
+
+
+
+
+
+
+
+Détails de l'exemple
+--------------------
+
+
+
+
+
Faire des entités avec wikitty
Modified: trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/edit.jsp
===================================================================
--- trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-08-30 09:44:53 UTC (rev 1202)
+++ trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/edit.jsp 2011-08-30 10:32:56 UTC (rev 1203)
@@ -74,6 +74,13 @@
}</style>
<h1>Edit <%=wikitty.getId()%></h1>
+<p>
+ <s:set var="localContext"><%=action.getContextArgs()%></s:set>
+ <s:url var="urledit" action="%{#localContext}/view/" />
+ <a href="${urledit}">View</a>
+ <s:url var="urledit" action="%{#localContext}/edit/" />
+ <a href="${urledit}">New Wikitty</a>
+</p>
<pre><%=StringEscapeUtils.escapeHtml(String.valueOf(wikitty))%></pre>
Modified: trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/view.jsp
===================================================================
--- trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-30 09:44:53 UTC (rev 1202)
+++ trunk/wikitty-publication-ui/src/main/webapp/WEB-INF/jsp/view.jsp 2011-08-30 10:32:56 UTC (rev 1203)
@@ -49,8 +49,7 @@
<sj:head jquerytheme="default"/>
<%
-
- PublicationActionView action = PublicationActionView
+ PublicationActionView action = PublicationActionView
.getAction();
Wikitty wikit = action.getWikittyResult();
@@ -59,16 +58,23 @@
%>
-<h1><%=action.getText("publication.view.title") %></h1>
+<h1><%=action.getText("publication.view.title")%></h1>
<pre><%=StringEscapeUtils.escapeHtml(String
- .valueOf(wikit))%></pre>
+ .valueOf(wikit))%></pre>
<%
}
%>
+<p>
+ <s:set var="localContext"><%=action.getContextArgs()%></s:set><s:url
+ var="urledit" action="%{#localContext}/edit/" />
+ <a href="${urledit}">New wikitty</a>
+</p>
+
+
<div id="wikittyInfo">
<img src="/img/indicator.gif"
alt="Loading..." style="display: none" />
@@ -83,9 +89,9 @@
</div>
<s:textfield label="First" key="first" name="first" />
<s:textfield label="End" key="end" name="end" />
- <input type="submit" name="search" value="<%=action.getText("publication.view.search") %>" />
+ <input type="submit" name="search" value="<%=action.getText("publication.view.search")%>" />
- <pre> <%=action.getText("publication.view.founds") %>: <%=action.getPagedResult().getNumFound()%></pre>
+ <pre> <%=action.getText("publication.view.founds")%>: <%=action.getPagedResult().getNumFound()%></pre>
<br/>
@@ -102,22 +108,16 @@
<%
- int i=0;
- for (Wikitty w : action.getPagedResult().getAll()) {
+ int i = 0;
+ for (Wikitty w : action.getPagedResult().getAll()) {
%>
<tr>
<td><s:set var="wid"><%=w.getId()%></s:set> <s:set
var="localContext"><%=action.getContextArgs()%></s:set> <s:url
var="urledit" action="%{#localContext}/edit/elt_id:%{#wid}" /> <a
href="${urledit}">Edit</a> <s:url var="urlraw"
- action="%{#localContext}/raw/elt_id:%{#wid}" /> <a
- href="${urlraw}">Raw</a> <s:url var="urleval"
- action="%{#localContext}/eval/elt_id:%{#wid}" /> <a
- href="${urleval}">Eval</a>
- <!-- <a id="ajaxlink_<%=i%>" href="javascript:void(0)">View</a> -->
-
-
- <s:set
+ action="%{#localContext}/raw/elt_id:%{#wid}" />
+ <s:set
var="contextData"><%=action.getContextData()%></s:set>
<s:url var="urlFragment" action="%{#contextData}/wikittyInfo" namespace="/fragment">
@@ -126,35 +126,50 @@
<sj:a targets="wikittyInfo" href="%{#urlFragment}"> view</sj:a>
+
+ <%
+ if (w.hasExtension(WikittyPubText.EXT_WIKITTYPUBTEXT)
+ || w.hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)) {
+ %>
+ <a
+ href="${urlraw}">Raw</a> <s:url var="urleval"
+ action="%{#localContext}/eval/elt_id:%{#wid}" /> <a
+ href="${urleval}">Eval</a>
+ <!-- <a id="ajaxlink_<%=i%>" href="javascript:void(0)">View</a> -->
+ <%
+ }
+ %>
-
</td>
<td><%=w.getId()%></td>
<td><%=w.getVersion()%></td>
<td><%=w.getExtensionNames()%></td>
<td>
<%
- String currentWikittyName = StringUtils.EMPTY;
- if (w.hasExtension(WikittyPubText.EXT_WIKITTYPUBTEXT)){
- currentWikittyName = WikittyPubTextHelper.getName(w);
- } else if (w.hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)) {
- currentWikittyName = WikittyPubDataHelper.getName(w);
- }
+ String currentWikittyName = StringUtils.EMPTY;
+ if (w.hasExtension(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
+ currentWikittyName = WikittyPubTextHelper
+ .getName(w);
+ } else if (w
+ .hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)) {
+ currentWikittyName = WikittyPubDataHelper
+ .getName(w);
+ }
%>
<%=currentWikittyName%>
</td>
</tr>
<%
- i++;
- }
+ i++;
+ }
%>
</table>
<input type="submit" name="previous" value="
- <%=action.getText("publication.view.previous") %>" /> <input
- type="submit" name="next" value="<%=action.getText("publication.view.next") %>" />
+ <%=action.getText("publication.view.previous")%>" /> <input
+ type="submit" name="next" value="<%=action.getText("publication.view.next")%>" />
</form>
Modified: trunk/wikitty-publication-ui/src/main/webapp/index.jsp
===================================================================
--- trunk/wikitty-publication-ui/src/main/webapp/index.jsp 2011-08-30 09:44:53 UTC (rev 1202)
+++ trunk/wikitty-publication-ui/src/main/webapp/index.jsp 2011-08-30 10:32:56 UTC (rev 1203)
@@ -1,22 +1,13 @@
-<%@ taglib prefix="s" uri="/struts-tags"%>
+<h1>Bienvenu dans Wikitty Publication</h1>
-<%
- out.println("hello !");
-%>
+Voici les adresses permettant d'acc�der au diff�rentes pages/action
-<s:url var="urlviewpage" action="wiki/view/" />
-<s:a href="%{urlviewpage}" id="urlviewpage">
- <s:text name="view" />
-</s:a>
+ * /[contextData]/[contextApps]/[action]/[mandatory_args]?[args key=value]
+ou
+ * /[contextData]/[action]/[mandatory_args]?[args key=value]
+Adresses sans contextApps disponible pour toute les actions.
+Adresses avec contextApps disponible pour les actions : view, raw et eval.
-<s:url var="urleditpage" action="wiki/edit/" />
-<s:a href="%{urleditpage}" id="urleditpage">
- <s:text name="edit" />
-</s:a>
-
-
-
-
Modified: trunk/wp-maven-plugin/pom.xml
===================================================================
--- trunk/wp-maven-plugin/pom.xml 2011-08-30 09:44:53 UTC (rev 1202)
+++ trunk/wp-maven-plugin/pom.xml 2011-08-30 10:32:56 UTC (rev 1203)
@@ -82,9 +82,13 @@
<artifactId>jetty-maven-plugin</artifactId>
</dependency>
-
<dependency>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</dependency>
1
0
Author: mfortun
Date: 2011-08-30 11:44:53 +0200 (Tue, 30 Aug 2011)
New Revision: 1202
Url: http://nuiton.org/repositories/revision/wikitty/1202
Log:
how to use sync, externalize and maven plugin doc*
Modified:
trunk/wikitty-publication/src/site/doc/Outils_publication.rst
trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst
Modified: trunk/wikitty-publication/src/site/doc/Outils_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-30 08:57:27 UTC (rev 1201)
+++ trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-30 09:44:53 UTC (rev 1202)
@@ -3,23 +3,161 @@
=====================
:Authors: Manoël Fortun
+Wikitty Publication met à disposition divers outils pour faciliter le
+développement d'application.
+Synchronisation
+---------------
+La fonction Synchronisation est utilisable via un main, ou via ses méthodes,
+se référer à la javadoc pour son utilisation en dehors du main.
-Syncrhonisation
----------------
+Le main nécessite des arguments, l'appelle peut avoir cette forme:
-Main comment ça marche
+Utilisation complète
+********************
+ * ''wp sync [--norecursion] [--delete|--existing] [URI orgirine] [URI cible]''
+Avec URI sous forme:
+ - file:///truc/machin/#label
+ - hessian://www.adresse.com:8827/etc/etc#label
+ - cajo://www.adresse.com:8827/etc/etc#label
+
+ * [--norecursion] pour savoir si l'on s'occupe des sous labels du label ciblé.
+ * [--delete] si l'on doit supprimer les wikitty qui se trouve sur l'uri cible et pas/plus sur l'uri origine
+ * [--existing] si l'on doit seulement mettre à jour les wikitty en commun sur les deux uri
+ * si aucune des deux option précédente on envois les nouveau wikitty, on met à jour et on supprime ceux qui ne sont plus là
+
+La suppression n'est pas une vraie suppression elle se contente de supprimer le
+label ciblé du wikitty.
+
+Les labels correspondent dans le cas d'une URI file au dossier "root".
+
+
+Utilisation simplifié
+*********************
+Invocation aussi avec un main:
+
+ * ''wp [update|commit] [--norecursion] [--delete|--existing] [label] [URI file]''
+
+L'URI file est optionnelle, si pas précisée on va commit/update le dossier
+courrant.
+
+Pour le commit update, on doit forcément préciser le label pour le wikitty
+service cible, cela pour permettre de commit ou update au bon endroit.
+
+Cette utilisation nécessite d'avoir utilisé la commande sync complète avec
+un WikittyService origine sur file system, on l'on va commit/update avec le
+dernier WikittyService utilisé en commande sync complète.
+
+
Fonction Externalize
--------------------
+La fonction externalize est utilisable via un main, ou via ses méthodes,
+se référer à la javadoc pour son utilisation en dehors du main.
-main comment faire
+En appelant le main, sans aucun arguments, un WikittyService sur File system
+est créer avec le répertoire courant comme label et donc tous les fichiers
+seront convertit en wikitty pour être externalisé dans un jar.
+Les WikittyPubData seront mit tel quel, alors que les WikittyPubText seront
+compilé en WikittyPubTextCompiled en fonction de leurs mime type:
+ * text/java, le contenu sera mit dans un une classe et dans une méthode eval qui prend en paramètre les bindings, cette classe sera compilé et ajouté dans le jar.
+ * text/[xxx] ou [xxx] est un langage dont un script engine est disponible dans le classpath, on mettra le contenu dans une méthode eval qui contiendra le même corps que si on évaluait par le site
+ * text/[www.xxx] type mime qui correspond normalement à un filtre qui possède la "key" [www.xxx] le moteur d'évaluation appliquera le filtre correspondant avant normalement d'externalize le résultat en fonction du mime type final normalement qui sera: text/[xxx] (les règles précédentes concernant les mime type seront appliquées)
+
Plugin maven
------------
-Goal avec le pom élémentaire
+Le plugin maven permet de d'utiliser naturellement les outils de synchronisation
+et d'externalisation avec simplement en point d'entré un pom élémentaire
+Pom élémentaire
+***************
+
+ <?xml version="1.0" encoding="UTF-8"?>
+ <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>[groupID]</groupId>
+ <artifactId>[artifactId]</artifactId>
+ <version>[version]</version>
+ <description>[description]</description>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.nuiton.wikitty</groupId>
+ <artifactId>wp-maven-plugin</artifactId>
+ <version>3.2-SNAPSHOT</version>
+ <configuration>
+ <applicationName>[applicationName]</applicationName>
+ <wikittyServiceUrl>[wikittyServiceUrl]</wikittyServiceUrl>
+ <serveurID>[serveurID]</serveurID>
+ <uploadUrl>[uploadUrl]</uploadUrl>
+ <publicationVersion>[publicationVersion]</publicationVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </project>
+
+Les valeurs [groupID], [artifactId], [version], [description] se remplissent
+selon l'application développée.
+
+Les paramètres [applicationName], [wikittyServiceUrl], [serveurID], [uploadUrl],
+et [publicationVersion] sont important pour l'utilisation du plugin.
+
+ * [applicationName] sera le contextApps, le label de base des WikittyPub de l'application
+ * [wikittyServiceUrl] sera l'url de syncrhonisation
+ * [serveurID] l'id du serveur dans les setting de maven
+ * [uploadUrl] url d'envoi pour le serveur
+ * [publicationVersion] la version du war de Wikitty Publication à utiliser pour les tests locaux.
+
+Goals Disponibles
+*****************
+
+ * mvn wp:init
+ * mvn wp:run
+ * mvn wp:deploy
+ * mvn wp:update
+ * mvn wp:jar
+ * mvn wp:jar-deploy
+ * mvn wp:clean
+
+wp:init sert pour initialiser la bonne architecture de travail soit:
+
+src/main/wp
+ #toute les pages
+src/main/ressources/images
+ #stocker les images
+src/main/ressources/jar
+ #stoker les binaires
+
+wp:run pour lancer l'application sur un serveur local avec le war de Wikitty
+Publication avec la version en paramètre.
+
+wp:deploy pour déployer l'application sur le WikittyService [wikittyServiceUrl]
+(utilisation de la synchronisation) avec la bonne architecture:
+
+[applicationName].wp
+ #toute les pages
+[applicationName].ressources.images
+ #stocker les images
+[applicationName].ressources.jar
+ #stoker les binaires
+
+wp:update pour mettre à jour sur le WikittyService [wikittyServiceUrl]
+(utilisation de la synchronisation)
+
+wp:jar pour construire le jar de l'application à partir des fichiers de l'application
+local. Jar qui respectera aussi la bonne architecture avec [applicationName]
+en root label.
+
+wp:jar-deploy sert pour envoyer le jar à l'url [uploadUrl] avec les informations
+d'identification du serveur [serveurID]
+
+wp:clean permet de nettoyer l'espace de travail local des fichiers de propriétés
+créés par le WikittyService sur File System avec la commande wp:run
+
Modified: trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst 2011-08-30 08:57:27 UTC (rev 1201)
+++ trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst 2011-08-30 09:44:53 UTC (rev 1202)
@@ -47,7 +47,7 @@
* text/java soit le MimeType du java, le contenu du wikitty est encapsulé dans une méthode "eval" prenant en paramètre les bindings, la classe est compilé et la méthode appelée, comme si le WikittyPubText était un WikittyPubTextCompiled
* text/[xxx] ou [xxx] est un langage dont un script engine est disponible dans le classpath, on va déléguer au script engine le contenu du WikittyPubText et afficher dans une page le résultat de l'évaluation par le script engine.
- * text/[www.xxx] type mime qui correspond normalement à un filtre qui possède la "key" [www.xxx] le moteur d'évaluation appliquera le filtre correspondant avant normalement d'évaluer le résultat en fonction du mime type final normalement qui sera: text/[xxx] (les règles précédente concernant les mime type seront appliquées)
+ * text/[www.xxx] type mime qui correspond normalement à un filtre qui possède la "key" [www.xxx] le moteur d'évaluation appliquera le filtre correspondant avant normalement d'évaluer le résultat en fonction du mime type final normalement qui sera: text/[xxx] (les règles précédentes concernant les mime type seront appliquées)
View
****
1
0
r1201 - in trunk: wikitty-publication/src/site/doc wp-maven-plugin
by mfortun@users.nuiton.org 30 Aug '11
by mfortun@users.nuiton.org 30 Aug '11
30 Aug '11
Author: mfortun
Date: 2011-08-30 10:57:27 +0200 (Tue, 30 Aug 2011)
New Revision: 1201
Url: http://nuiton.org/repositories/revision/wikitty/1201
Log:
doc for publication war
Added:
trunk/wikitty-publication/src/site/doc/multicontext.png
Modified:
trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
trunk/wikitty-publication/src/site/doc/Outils_publication.rst
trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst
trunk/wp-maven-plugin/pom.xml
Modified: trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-29 21:31:02 UTC (rev 1200)
+++ trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-30 08:57:27 UTC (rev 1201)
@@ -1,4 +1,29 @@
+==============================================
+Faire une application avec Wikitty Publication
+==============================================
+:Authors: Manoël Fortun
+Passer par le navigateur
+
+
+Initialiser un repository local avec un pom
+
+
+
+Faire des entités avec wikitty
+
+
+
+
Expliquer le cheminement faire
-un pom prendre en exemple l'exemple en détaillant le tout.
\ No newline at end of file
+un pom prendre en exemple l'exemple en détaillant le tout.
+
+
+
+Faire ses entités
+dévelloper classiquement en javascript avec les bindings
+
+Possibilité des bindings
+
+et le java pour manipuler les entitées
Modified: trunk/wikitty-publication/src/site/doc/Outils_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-29 21:31:02 UTC (rev 1200)
+++ trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-30 08:57:27 UTC (rev 1201)
@@ -1,10 +1,25 @@
+=====================
+Outils de Publication
+=====================
+:Authors: Manoël Fortun
-Syncrhonisation comment ça marche
-Externalize.
+Syncrhonisation
+---------------
+Main comment ça marche
+
+Fonction Externalize
+--------------------
+
+main comment faire
+
+
Plugin maven
+------------
+Goal avec le pom élémentaire
+
Modified: trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst 2011-08-29 21:31:02 UTC (rev 1200)
+++ trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst 2011-08-30 08:57:27 UTC (rev 1201)
@@ -1,8 +1,141 @@
+===================================
+Wikitty Publication Web Application
+===================================
+:Authors: Manoël Fortun
+Wikitty Publication se déploie dans un serveur web et offre la possibilité de
+créer et d'utiliser des applications à l'intérieur. Tout cela en utilisant
+un navigateur web et en naviguant dans les différentes pages proposée.
-Expliquer le systeme de propriété
+Liste des pages
+---------------
+
+Il existe 4 pages différentes, ou action, avec chacune un rôle particulier.
+
+Raw
+***
+Page qui ne fonctionne que pour les WikittyPubData et WikittyPubText.
+Cette action renvois au navigateur le contenu du wikittyPub avec son mime type,
+un wikittyPubData qui contient une image type : image/png sera renvoyé tel quel.
+Un wikittyPubText qui contient un script text/javascript sera renvoyé tel quel
+aussi.
+
+Edit
+****
+Page qui fonctionne pour tout les types de wikitty.
+Permet l'édition de wikitty existant ou la création de nouveau wikitty.
+On peut ajouter à un wikitty seulement les extensions déjà présente dans le
+WikittyService.
+
+
+Eval
+****
+Page qui ne fonctionne que pour les WikittyPubData, WikittyPubText et
+WikittyPubTextCompiled.
+
+Si cette page rencontre un WikittyPubData, elle fait la même chose que l'action
+Raw.
+
+Si c'est un WikittyPubTextCompiled donc un wikitty qui contient une classe java
+spécifique, on appel la méthode eval de cette classe en lui passant le binding.
+Un wikittyPubTextCompiled est un WikittyPubText qui a été compilé et qui n'est
+donc plus évalué par un script engine dynamiquement, à la volé, mais on appel
+une méthode de la classe qui fait la même chose.
+
+Si c'est un WikittyPubText en fonction du MimeType on ne fait pas la même chose:
+
+ * text/java soit le MimeType du java, le contenu du wikitty est encapsulé dans une méthode "eval" prenant en paramètre les bindings, la classe est compilé et la méthode appelée, comme si le WikittyPubText était un WikittyPubTextCompiled
+ * text/[xxx] ou [xxx] est un langage dont un script engine est disponible dans le classpath, on va déléguer au script engine le contenu du WikittyPubText et afficher dans une page le résultat de l'évaluation par le script engine.
+ * text/[www.xxx] type mime qui correspond normalement à un filtre qui possède la "key" [www.xxx] le moteur d'évaluation appliquera le filtre correspondant avant normalement d'évaluer le résultat en fonction du mime type final normalement qui sera: text/[xxx] (les règles précédente concernant les mime type seront appliquées)
+
+View
+****
+Page qui liste tout les wikitty présent dans le WikittyService et qui permet de
+faire des recherches sur les wikitty.
+
+Format des adresses
+-------------------
+
+Voici les adresses permettant d'accéder au différentes pages/action
+
+ * /[contextData]/[contextApps]/[action]/[mandatory_args]?[args key=value]
+ou
+ * /[contextData]/[action]/[mandatory_args]?[args key=value]
+
+Adresses sans contextApps disponible pour toute les actions.
+Adresses avec contextApps disponible pour les actions : view, raw et eval.
+
+
+action
+******
+Nom de la page.
+
+mandatory_args
+**************
+Permet de retrouver le wikitty deux équivalences:
+
+ * /eval/WikittyPubText.name:Wiki
+ * /eval/Wiki
+
+Pointer un wikitty en fonction d'un attribut de champ ou avec son id directement:
+
+ * eval/elt_id:c9df9fd7-0714-4e1a-893c-0b37e0b8bc87 le wikitty avec l'id c9df9fd7-0714-4e1a-893c-0b37e0b8bc87
+
+args key=value
+**************
+Arguments http get.
+
+
ContextData
-COntextapp
+***********
-Expliquer les actions ce qu'elle font et tout
\ No newline at end of file
+Le contextData sert pour charger des propriétés et charger le bon WikittyService.
+Un WikittyService se charge avec des propriétés, l'endroit où il met sa base
+de données, etc.
+
+Par défaut l'application embarque des fichiers de propriétés pour charger des
+propriétés, on peut en rajouter des personnalisés. Si on trouve un fichier de
+propriétés dans le classPath de la forme: wikitty-publication-ws-[contextData].properties
+on le charge à la suite des propriétés par défaut écrasant les propriétés
+précédemment existante.
+
+.. image:: multicontext.png
+
+Ce diagramme montre bien le fonctionnement.
+
+Si il n'y a pas de fichier de propriété correspondant au contextData, simplement
+un nouveau dossier de base de données sera créer.
+
+De sorte que les adresses suivante ne pointent pas sur les mêmes données, isolant
+dès lors les WikittyServices:
+
+ * /wiki/chorem/eval/menu
+ * /codelutin/chorem/eval/menu
+
+
+
+ContextApps
+***********
+
+Tout WikittyPub possède aussi l'extension WikittyLabel, contextApps permet de
+retrouver le wikitty ciblé plus facilement. Un des labels du wikitty doit
+commencer par contextApps. Cela permet aussi de faire que les liens vers les autres
+wikitty que le wikittyPubText peut contenir doivent être des wikitty avec le
+contextApps en label eux aussi.
+
+Exemple :
+
+ * /wiki/chorem/eval/menu
+
+Le wikitty évalué, sera le wikittyPub qui a un attribut name égal à Menu
+et qui possède un label qui commence par Chorem.
+Si ce wikitty est un WikittyPubText qui contient un lien vers un autre wikitty
+on cherchera un wikittyPub qui lui aussi a un label qui commence par Chorem.
+
+Ce mécanisme permet d'éviter les collisions de noms et de pouvoir réutiliser
+les noms et de s'assurer que c'est toujours le bon wikitty que l'on obtient.
+
+
+
+
Added: trunk/wikitty-publication/src/site/doc/multicontext.png
===================================================================
(Binary files differ)
Property changes on: trunk/wikitty-publication/src/site/doc/multicontext.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/wp-maven-plugin/pom.xml
===================================================================
--- trunk/wp-maven-plugin/pom.xml 2011-08-29 21:31:02 UTC (rev 1200)
+++ trunk/wp-maven-plugin/pom.xml 2011-08-30 08:57:27 UTC (rev 1201)
@@ -82,13 +82,9 @@
<artifactId>jetty-maven-plugin</artifactId>
</dependency>
+
<dependency>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</dependency>
1
0
r1200 - in trunk/wikitty-publication/src: main/resources/filters-properties site/doc
by mfortun@users.nuiton.org 29 Aug '11
by mfortun@users.nuiton.org 29 Aug '11
29 Aug '11
Author: mfortun
Date: 2011-08-29 23:31:02 +0200 (Mon, 29 Aug 2011)
New Revision: 1200
Url: http://nuiton.org/repositories/revision/wikitty/1200
Log:
correct/complete docs
Modified:
trunk/wikitty-publication/src/main/resources/filters-properties/README.txt
trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst
Modified: trunk/wikitty-publication/src/main/resources/filters-properties/README.txt
===================================================================
--- trunk/wikitty-publication/src/main/resources/filters-properties/README.txt 2011-08-29 15:44:02 UTC (rev 1199)
+++ trunk/wikitty-publication/src/main/resources/filters-properties/README.txt 2011-08-29 21:31:02 UTC (rev 1200)
@@ -1,12 +1,11 @@
-
-
-
Those filters options are use to transform WikittyPubText content with a
nuiton processor and filters. The goal of this is to include html (and after
other langage design for ui inside web browser) with scripting mechanism.
Instead of write the script and include inside result value html tag, do the
opposite, that what allow those filters.
+In this case use script langage inside tag like in a jsp: <% %> and <%= %>
+
Filters options doc:
OpeningTemplate: the string openning the template
@@ -34,14 +33,13 @@
</html>
with template:
-wpContext.setContentType("[ContentType]");
+wpContext.setContentType("[ContentType]")[EndingCar]
-[OpeningTemplate]<html>[StringDelim];
-var name= bob;
-[WriteString][OpeningWriterChar][StringDelim]<h1>Hello World [StringDelim][ConcatChar]name[ConcatChar]!</h1>[ConcatChar][StringDelim];
-
-[WriteString][OpeningWriterChar][StringDelim]</html>[StringDelim];
-
+[OpeningTemplate]<html>[StringDelim][ClosingWriterChar][EndingCar]
+[WriteString][OpeningWriterChar][StringDelim]bob[StringDelim][ClosingWriterChar][EndingCar]
+[WriteString][OpeningWriterChar][StringDelim]<h1>Hello World [StringDelim][ConcatChar]name[ConcatChar][StringDelim]!</h1>[StringDelim][ClosingWriterChar][EndingCar]
+[WriteString][OpeningWriterChar][StringDelim]</html>[StringDelim][ClosingWriterChar][EndingCar][ClosingTemplate]
+
This filters will be enable when try to evaluate wikittyPubText with mime type:
text/[Key], the mime type of the wikittyPubText after will be: [MimeType]
@@ -60,3 +58,16 @@
This filters will be enable when try to evaluate wikittyPubText with mime type:
text/html.javascript, the mime type of the wikittyPubText after will be: application/javascript
+Template:
+
+OpeningTemplate=
+WriteString=
+StringDelim=
+ConcatChar=
+EndingCar=
+ClosingWriterChar=
+OpeningWriterChar=
+ClosingTemplate=
+MimeType=
+Key=
+ContentType=
Modified: trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst 2011-08-29 15:44:02 UTC (rev 1199)
+++ trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst 2011-08-29 21:31:02 UTC (rev 1200)
@@ -1,12 +1,95 @@
-Fonctionnement des mime type
+======================================================
+Comment rajouter des langages dans Wikitty Publication
+======================================================
+:Authors: Manoël Fortun
+Un nouveau langage
+------------------
+Pour rajouter un nouveau langage il faut enregistrer dans le service ou dans
+le classPath le jar contenant le script engine correspondant. Il faut s'assurer
+que l'engine peut être récupéré avec un mimeType de forme : text/[langage], avec
+langage qui est égale au langage de script. Puisque la forme text/[truc] correspond
+qu wikitty pub text dans le mapping des mimeType.
-Rajouter des langages
+Comment marche le mapping mimeType <-> extension de fichier
+-----------------------------------------------------------
-Rajouter le mécanisme des mime type extension
+Dans les ressources du module Wikitty Publication il y a un fichier de propriétés
+nommé: "mimetype.properties" qui contient les mapping mimeType <-> extension.
+Seulement ceux à l'intérieur sont considéré.
+Pour en rajouter il suffit de rajouter des lignes.
-Jouer avec la décoration
+Les mimeTypes commençant par text/ seront considérés comme des wikittyPubText.
+Les mimeTypes composé comme:
+text/html.javascript=htmljs
+Sont des mimeTypes liés au filtres:
+Comment marche les filtres
+--------------------------
+
+Les filtres sont à utiliser en relation avec le mapping mime type - extension.
+Ils permettent de définir des transformations du contenu d'un wikitty pub text.
+Ceci est utilisé par exemple pour insérer du html dans le contenu des wikitty
+pub text facilement, ou d'autre.
+
+Pour en rajouter il suffit de reprendre le template et de le remplir selon
+ses besoins.
+
+Les Options de fitre:
+*********************
+
+ * OpeningTemplate: chaine d'ouverture du template
+ * WriteString: instruction d'écriture
+ * StringDelim: délimiteur de chaine exemple "
+ * ConcatChar: caractère de concaténation
+ * EndingCar: caractère de fin d'instruction
+ * ClosingWriterChar: chaine qui se place avant le caractère de fin et le délimiteur de chaine
+ * OpeningWriterChar: chaine qui se place juste après l'instruction d'écriture et avant le délimiteur de chaine
+ * ClosingTemplate: chaine de fermeture du template
+ * MimeType: mime type après application du template
+ * Key: clé du mime type, définition des langages utilisé langageAutourBalise.LangageEntreBalise si le mime type du wikitty pub fini par la clé, ce template sera appliqué.
+ * ContentType: content type qui sera mit pour le retour de la page
+
+
+Un exemple de fonctionnement
+****************************
+
+Contenu d'un wikitty pub text:
+
+ <html>
+ <%var name="bob"%>
+ <h1>Hello World <%=name%>!</h1>
+ </html>
+
+Règle de remplacement avec le template:
+
+ wpContext.setContentType("[ContentType]")[EndingCar]
+
+ [OpeningTemplate]<html>[StringDelim][ClosingWriterChar][EndingCar]
+
+ [WriteString][OpeningWriterChar][StringDelim]bob[StringDelim][ClosingWriterChar][EndingCar]
+
+ [WriteString][OpeningWriterChar][StringDelim]<h1>Hello World [StringDelim][ConcatChar]name[ConcatChar][StringDelim]!</h1>[StringDelim][ClosingWriterChar][EndingCar]
+
+ [WriteString][OpeningWriterChar][StringDelim]</html>[StringDelim][ClosingWriterChar][EndingCar][ClosingTemplate]
+
+ce filtre sera actif quand on le mime type du wikittyPubText sera :
+text/[Key], après transformation par le filtre le mimetype sera [MimeType]
+
+Si on avait utilisé le filtre de base:
+
+ wpContext.setContentType("text/html; charset=UTF-8");
+
+ var wp_result="<html>";
+ var name= bob;
+ wp_result+="<h1>Hello World "+name+"!</h1>";
+ wp_result+="</html>";
+
+
+ce filtre sera actif quand on le mime type du wikittyPubText sera :
+text/html.javascript, après transformation par le filtre le mimetype sera application/javascript
+
+
1
0
r1199 - in trunk/wikitty-publication/src: main/resources/filters-properties site site/doc site/exemple
by mfortun@users.nuiton.org 29 Aug '11
by mfortun@users.nuiton.org 29 Aug '11
29 Aug '11
Author: mfortun
Date: 2011-08-29 17:44:02 +0200 (Mon, 29 Aug 2011)
New Revision: 1199
Url: http://nuiton.org/repositories/revision/wikitty/1199
Log:
readme for filters option
*base for users docs
Added:
trunk/wikitty-publication/src/site/doc/
trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
trunk/wikitty-publication/src/site/doc/Outils_publication.rst
trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst
trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst
trunk/wikitty-publication/src/site/exemple/README.txt
Modified:
trunk/wikitty-publication/src/main/resources/filters-properties/README.txt
Modified: trunk/wikitty-publication/src/main/resources/filters-properties/README.txt
===================================================================
--- trunk/wikitty-publication/src/main/resources/filters-properties/README.txt 2011-08-29 15:02:04 UTC (rev 1198)
+++ trunk/wikitty-publication/src/main/resources/filters-properties/README.txt 2011-08-29 15:44:02 UTC (rev 1199)
@@ -1,11 +1,62 @@
-OpeningTemplate
-WriteString
-StringDelim
-ConcatChar
-EndingCar
-ClosingWriterChar
-OpeningWriterChar
-ClosingTemplate
-MimeType
-Key
-ContentType
\ No newline at end of file
+
+
+
+Those filters options are use to transform WikittyPubText content with a
+nuiton processor and filters. The goal of this is to include html (and after
+other langage design for ui inside web browser) with scripting mechanism.
+Instead of write the script and include inside result value html tag, do the
+opposite, that what allow those filters.
+
+Filters options doc:
+
+OpeningTemplate: the string openning the template
+WriteString: instruction used to write string
+StringDelim: string delimiter example : "
+ConcatChar: string used to concat char example: +
+EndingCar: string that end instruction
+ClosingWriterChar: string after write string and before String delim
+OpeningWriterChar: string after string delim, before ending car
+ClosingTemplate: string that close the template
+MimeType: the mime type of the wikittyPubText after decoration
+Key: mimetype special usualy originMime.targetMime for example html.javascript
+this is linked to mimetype properties
+ContentType: content type set for the result of the evaluation of this
+wikitty pub text
+
+Example :
+
+
+<html>
+<%var name="bob"%>
+
+
+<h1>Hello World <%=name%>!</h1>
+</html>
+with template:
+
+wpContext.setContentType("[ContentType]");
+
+[OpeningTemplate]<html>[StringDelim];
+var name= bob;
+[WriteString][OpeningWriterChar][StringDelim]<h1>Hello World [StringDelim][ConcatChar]name[ConcatChar]!</h1>[ConcatChar][StringDelim];
+
+[WriteString][OpeningWriterChar][StringDelim]</html>[StringDelim];
+
+This filters will be enable when try to evaluate wikittyPubText with mime type:
+text/[Key], the mime type of the wikittyPubText after will be: [MimeType]
+
+
+If using the default filters:
+
+
+wpContext.setContentType("text/html; charset=UTF-8");
+
+var wp_result="<html>";
+var name= bob;
+wp_result+="<h1>Hello World "+name+"!</h1>";
+
+wp_result+="</html>";
+
+This filters will be enable when try to evaluate wikittyPubText with mime type:
+text/html.javascript, the mime type of the wikittyPubText after will be: application/javascript
+
Added: trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst (rev 0)
+++ trunk/wikitty-publication/src/site/doc/Faire_une_application_publication.rst 2011-08-29 15:44:02 UTC (rev 1199)
@@ -0,0 +1,4 @@
+
+
+Expliquer le cheminement faire
+un pom prendre en exemple l'exemple en détaillant le tout.
\ No newline at end of file
Added: trunk/wikitty-publication/src/site/doc/Outils_publication.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Outils_publication.rst (rev 0)
+++ trunk/wikitty-publication/src/site/doc/Outils_publication.rst 2011-08-29 15:44:02 UTC (rev 1199)
@@ -0,0 +1,10 @@
+
+
+Syncrhonisation comment ça marche
+
+
+Externalize.
+
+
+Plugin maven
+
Added: trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst (rev 0)
+++ trunk/wikitty-publication/src/site/doc/Rajouter_des_langages.rst 2011-08-29 15:44:02 UTC (rev 1199)
@@ -0,0 +1,12 @@
+Fonctionnement des mime type
+
+
+
+Rajouter des langages
+
+
+Rajouter le mécanisme des mime type extension
+
+
+Jouer avec la décoration
+
Added: trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst
===================================================================
--- trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst (rev 0)
+++ trunk/wikitty-publication/src/site/doc/Wikitty_Publication_war.rst 2011-08-29 15:44:02 UTC (rev 1199)
@@ -0,0 +1,8 @@
+
+
+
+Expliquer le systeme de propriété
+ContextData
+COntextapp
+
+Expliquer les actions ce qu'elle font et tout
\ No newline at end of file
Added: trunk/wikitty-publication/src/site/exemple/README.txt
===================================================================
--- trunk/wikitty-publication/src/site/exemple/README.txt (rev 0)
+++ trunk/wikitty-publication/src/site/exemple/README.txt 2011-08-29 15:44:02 UTC (rev 1199)
@@ -0,0 +1,4 @@
+Ceci est un exemple de d'utilisation de wikitty publication pour faire des application
+
+
+
1
0
r1198 - in trunk: wikitty-publication/src/main/java/org/nuiton/wikitty/publication wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize wikitty-publication/src/site/exemple/resourceAppli/src/main/wp wikitty-publication-ui/src/main/resources
by mfortun@users.nuiton.org 29 Aug '11
by mfortun@users.nuiton.org 29 Aug '11
29 Aug '11
Author: mfortun
Date: 2011-08-29 17:02:04 +0200 (Mon, 29 Aug 2011)
New Revision: 1198
Url: http://nuiton.org/repositories/revision/wikitty/1198
Log:
*doc
*add logging
*correct example ressource -> resource*
Modified:
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeDecorator.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPropertieIndex.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/JarUtil.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/site/exemple/resourceAppli/src/main/wp/Test.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeDecorator.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeDecorator.java 2011-08-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/CodeDecorator.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -70,26 +70,26 @@
defaultFilterOption = new FilterOption();
defaultFilterOption.setOpeningTemplate(mimeProps
- .getProperty(FilterOption.OpeningTemplate));
+ .getProperty(FilterOption.OPENING_TEMPLATE));
defaultFilterOption.setWriteString(mimeProps
- .getProperty(FilterOption.WriteString));
+ .getProperty(FilterOption.WRITE_STRING));
defaultFilterOption.setStringDelim(mimeProps
- .getProperty(FilterOption.StringDelim));
+ .getProperty(FilterOption.STRING_DELIM));
defaultFilterOption.setConcatChar(mimeProps
- .getProperty(FilterOption.ConcatChar));
+ .getProperty(FilterOption.CONCAT_CHAR));
defaultFilterOption.setEndingCar(mimeProps
- .getProperty(FilterOption.EndingCar));
+ .getProperty(FilterOption.ENDING_CAR));
defaultFilterOption.setClosingWriterChar(mimeProps
- .getProperty(FilterOption.ClosingWriterChar));
+ .getProperty(FilterOption.CLOSING_WRITER_CHAR));
defaultFilterOption.setOpeningWriterChar(mimeProps
- .getProperty(FilterOption.OpeningWriterChar));
+ .getProperty(FilterOption.OPENING_WRITER_CHAR));
defaultFilterOption.setClosingTemplate(mimeProps
- .getProperty(FilterOption.ClosingTemplate));
+ .getProperty(FilterOption.CLOSING_TEMPLATE));
defaultFilterOption.setMimeType(mimeProps
- .getProperty(FilterOption.MimeType));
- defaultFilterOption.setKey(mimeProps.getProperty(FilterOption.Key));
+ .getProperty(FilterOption.MIME_TYPE));
+ defaultFilterOption.setKey(mimeProps.getProperty(FilterOption.KEY));
defaultFilterOption.setContentType(mimeProps
- .getProperty(FilterOption.ContentType));
+ .getProperty(FilterOption.CONTENT_TYPE));
}
@@ -112,23 +112,23 @@
// parse properties
FilterOption option = new FilterOption();
option.setOpeningTemplate(props
- .getProperty(FilterOption.OpeningTemplate));
+ .getProperty(FilterOption.OPENING_TEMPLATE));
option.setWriteString(props
- .getProperty(FilterOption.WriteString));
+ .getProperty(FilterOption.WRITE_STRING));
option.setStringDelim(props
- .getProperty(FilterOption.StringDelim));
- option.setConcatChar(props.getProperty(FilterOption.ConcatChar));
- option.setEndingCar(props.getProperty(FilterOption.EndingCar));
+ .getProperty(FilterOption.STRING_DELIM));
+ option.setConcatChar(props.getProperty(FilterOption.CONCAT_CHAR));
+ option.setEndingCar(props.getProperty(FilterOption.ENDING_CAR));
option.setClosingWriterChar(props
- .getProperty(FilterOption.ClosingWriterChar));
+ .getProperty(FilterOption.CLOSING_WRITER_CHAR));
option.setOpeningWriterChar(props
- .getProperty(FilterOption.OpeningWriterChar));
+ .getProperty(FilterOption.OPENING_WRITER_CHAR));
option.setClosingTemplate(props
- .getProperty(FilterOption.ClosingTemplate));
- option.setMimeType(props.getProperty(FilterOption.MimeType));
- option.setKey(props.getProperty(FilterOption.Key));
+ .getProperty(FilterOption.CLOSING_TEMPLATE));
+ option.setMimeType(props.getProperty(FilterOption.MIME_TYPE));
+ option.setKey(props.getProperty(FilterOption.KEY));
option.setContentType(props
- .getProperty(FilterOption.ContentType));
+ .getProperty(FilterOption.CONTENT_TYPE));
// addfilters options
filtersOptions.put(option.getKey(), option);
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java 2011-08-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/FilterOption.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -1,19 +1,26 @@
package org.nuiton.wikitty.publication;
+/**
+ * class used to store filter option used to decorate UI content inside
+ * wikittyPubText
+ *
+ * @author mfortun
+ *
+ */
public class FilterOption {
- public static String OpeningTemplate = "OpeningTemplate";
- public static String WriteString = "WriteString";
- public static String StringDelim = "StringDelim";
- public static String ConcatChar = "ConcatChar";
- public static String EndingCar = "EndingCar";
- public static String ClosingWriterChar = "ClosingWriterChar";
- public static String OpeningWriterChar = "OpeningWriterChar";
- public static String ClosingTemplate = "ClosingTemplate";
- public static String MimeType = "MimeType";
- public static String Key = "Key";
- public static String ContentType = "ContentType";
+ public static String OPENING_TEMPLATE = "OpeningTemplate";
+ public static String WRITE_STRING = "WriteString";
+ public static String STRING_DELIM = "StringDelim";
+ public static String CONCAT_CHAR = "ConcatChar";
+ public static String ENDING_CAR = "EndingCar";
+ public static String CLOSING_WRITER_CHAR = "ClosingWriterChar";
+ public static String OPENING_WRITER_CHAR = "OpeningWriterChar";
+ public static String CLOSING_TEMPLATE = "ClosingTemplate";
+ public static String MIME_TYPE = "MimeType";
+ public static String KEY = "Key";
+ public static String CONTENT_TYPE = "ContentType";
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-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/MimeTypePubHelper.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -34,8 +34,6 @@
import javax.script.ScriptEngineManager;
import java.io.IOException;
import java.io.InputStream;
-import java.util.LinkedList;
-import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -67,6 +65,9 @@
static public String PUBLICATION_MIME_SEP = ".";
static public String PREFIX_MIME_PUB_TEXT = "text";
+ /**
+ * MimeType properties files name
+ */
static public String MIME_PROPERTIE = "mimetype.properties";
/**
* match pub text that must be converted via ui decorateur text/\w*\.\w* as
@@ -84,6 +85,7 @@
bidiMap = new DualHashBidiMap();
manager = ScriptEvaluator.getScriptEnginManager(null);
+ // load properties for mime type and file extension
InputStream input = MimeTypePubHelper.class
.getResourceAsStream("/mimetype.properties");
@@ -181,6 +183,14 @@
return result;
}
+ /**
+ * return the convert part of a mime type, part used as a key
+ * for converter option.
+ *
+ * for example : text/html.java return html.java
+ * @param mime
+ * @return
+ */
public String pubUiMimeToConverterOption(String mime) {
String result = mime;
if (mime.matches(REGEX_PUB_TEXT_TRANSFORM)) {
@@ -189,6 +199,12 @@
return result;
}
+ /**
+ * Used to convert uiMime to the mimeType after content decoration
+ *
+ * @param mime
+ * @return the mimeType after Ui content decoration
+ */
public String pubUiMimeToTargetMime(String mime) {
String result = mime;
if (mime.matches(REGEX_PUB_TEXT_TRANSFORM)) {
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPropertieIndex.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPropertieIndex.java 2011-08-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/WikittyPropertieIndex.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -3,9 +3,27 @@
import java.util.Properties;
import java.util.Set;
+/**
+ *
+ * Class used to store properties used as wikitty index.
+ * Used by the wikitty service over jar.
+ *
+ * @author mfortun
+ *
+ */
public class WikittyPropertieIndex {
+ /**
+ * Index for wikitty
+ * id-> path/wikittypubName
+ */
protected Properties wikittyIndex;
+ /**
+ * index for version information and mime type
+ *
+ * id.mimetype-> "mimetype"
+ * id.version -> "version"
+ */
protected Properties wikittyMetadata;
@@ -29,6 +47,12 @@
this.wikittyMetadata = wikittyMetadata;
}
+ /**
+ * return if the properties that index wikitty name and id
+ * contain the id
+ * @param id
+ * @return if the id is inside the index
+ */
public boolean containtId(String id){
return wikittyIndex.containsKey(id);
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/JarUtil.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/JarUtil.java 2011-08-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/JarUtil.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -146,6 +146,13 @@
return result;
}
+
+ /**
+ *
+ * @param jarFile
+ * @param fileOrDirectory
+ * @throws IOException
+ */
public static void compressFiles(File jarFile, File fileOrDirectory)
throws IOException {
@@ -272,6 +279,22 @@
compress(jarFile, fileOrDirectory, null, null, false);
}
+
+ /**
+ * If fileOrDirectory is directory Compress recursively all file in this
+ * directory, else if is just file compress one file.
+ * <p/>
+ * Entry result name in jar start at fileOrDirectory. example: if we
+ * compress /etc/apache, entry will be apache/http.conf, ...
+ *
+ * @param jarFile
+ * the target jar file
+ * @param fileOrDirectory
+ * the file or directory to compress
+ * @param mf the manifest for the jar
+ * @throws IOException
+ * if any problem while compressing
+ */
public static void compress(File jarFile, File fileOrDirectory, Manifest mf)
throws IOException {
compress(jarFile, fileOrDirectory, mf, null, false);
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-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -59,7 +59,6 @@
static public String SOURCE_EXTENSION = ".java";
static public String COMPILED_EXTENSION = ".class";
- static public String PATH_SEPARATOR_PROPERTIE_KEY = "path.separator";
/*
* needed to ensure that fileUtils used inside execution is set with the
@@ -159,8 +158,6 @@
PropertiesExtended metaProperties = new PropertiesExtended(
filePropertiesMeta);
- metaProperties
- .setProperty(PATH_SEPARATOR_PROPERTIE_KEY, File.separator);
// iterate wikitty
// - write file
// - write property
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-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -1,7 +1,6 @@
package org.nuiton.wikitty.publication.externalize;
import java.io.File;
-import java.io.FileFilter;
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
@@ -12,7 +11,6 @@
import java.util.Properties;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
-
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -37,7 +35,6 @@
import org.nuiton.wikitty.publication.entities.WikittyPubTextCompiledImpl;
import org.nuiton.wikitty.publication.entities.WikittyPubTextHelper;
import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl;
-import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.TreeNodeResult;
import org.nuiton.wikitty.services.WikittyEvent;
@@ -53,6 +50,8 @@
public static String JAR_LOCATION_KEY = "wikitty.publication.repository.jar";
+ public static String JAR_PATH_SEPARATOR = "/";
+
/** Class logger. */
private static Log log = LogFactory.getLog(WikittyServiceJarLoader.class);
@@ -80,8 +79,9 @@
constructIndex();
}
- protected void constructIndex() {
+ protected void constructIndex() {
try {
+ log.info("Initialize Jar Index on dir" + dirLocation);
// initialise location
File jarLocation = new File(dirLocation);
//found jar
@@ -387,8 +387,10 @@
wikittyMetadata = en.getValue().getWikittyMetadata();
}
}
+ if (log.isDebugEnabled()){
+ log.debug("restoring on "+ wikittyJarRepository);
+ }
-
String mime = wikittyMetadata.getProperty(wikittyId
+ WikittyPublicationExternalize.MIME_SUFFIX);
String fileExtension = mimeHelper.getExtensionForMime(mime);
@@ -405,9 +407,7 @@
wikit.addExtension(WikittyLabelImpl.extensionWikittyLabel);
// set labels computate name
- String sep = wikittyMetadata
- .getProperty(WikittyPublicationExternalize.PATH_SEPARATOR_PROPERTIE_KEY);
- String[] namPath = StringUtil.split(path, sep);
+ String[] namPath = StringUtil.split(path, JAR_PATH_SEPARATOR);
String wikittyName = namPath[namPath.length - 1];
String label = "";
@@ -421,6 +421,9 @@
WikittyLabelHelper.addLabels(wikit, label);
try {
if (mimeHelper.isPubTextMime(mime)) {
+ if(log.isDebugEnabled()){
+ log.debug("Handle Wikitty pubtext: " + wikit);
+ }
// wikitty pub text compiled
wikit.addExtension(WikittyPubTextImpl.extensions);
wikit.addExtension(WikittyPubTextCompiledImpl.extensionWikittyPubTextCompiled);
@@ -435,10 +438,15 @@
WikittyPubTextHelper.setContent(wikit, JarUtil
.getStringContent(wikittyJarRepository, wikittyJared));
- WikittyPubTextCompiledHelper.setByteCode(wikit, JarUtil
- .getByteContent(wikittyJarRepository, wikittyclass));
+ byte[] bytCont= JarUtil
+ .getByteContent(wikittyJarRepository, wikittyclass);
+
+ WikittyPubTextCompiledHelper.setByteCode(wikit,bytCont);
} else {
+ if(log.isDebugEnabled()){
+ log.debug("Handle Wikitty pubdata: " + wikit);
+ }
// wikitty pub data
wikit.addExtension(WikittyPubDataImpl.extensionWikittyPubData);
WikittyPubDataHelper.setMimeType(wikit, mime);
Modified: trunk/wikitty-publication/src/site/exemple/resourceAppli/src/main/wp/Test.java
===================================================================
--- trunk/wikitty-publication/src/site/exemple/resourceAppli/src/main/wp/Test.java 2011-08-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication/src/site/exemple/resourceAppli/src/main/wp/Test.java 2011-08-29 15:02:04 UTC (rev 1198)
@@ -1,3 +1,3 @@
-WikittyRessource tt = new WikittyRessourceImpl();
+WikittyResource tt = new WikittyResourceImpl();
return "yo";
Modified: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties 2011-08-29 13:53:25 UTC (rev 1197)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties 2011-08-29 15:02:04 UTC (rev 1198)
@@ -58,4 +58,4 @@
org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageLog
wikitty.fallback.file=wikitty-publication-ws-fallback.properties
-wikitty.fallback.override=false
+wikitty.fallback.override=true
1
0
Author: tchemit
Date: 2011-08-29 15:53:25 +0200 (Mon, 29 Aug 2011)
New Revision: 1197
Url: http://nuiton.org/repositories/revision/wikitty/1197
Log:
T?\195?\162che #1715: Updates to nuiton-processor 1.2.2
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-29 12:47:01 UTC (rev 1196)
+++ trunk/pom.xml 2011-08-29 13:53:25 UTC (rev 1197)
@@ -718,7 +718,7 @@
<javassistVersion>3.8.0.GA</javassistVersion>
<jspapiversion>2.1</jspapiversion>
- <nuitonProcessessorVersion>1.2.2-SNAPSHOT</nuitonProcessessorVersion>
+ <nuitonProcessessorVersion>1.2.2</nuitonProcessessorVersion>
<nuiton-struts2>1.3</nuiton-struts2>
<!--Multilanguage maven-site -->
<locales>fr,en</locales>
1
0
r1196 - in trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui: . action interceptor
by mfortun@users.nuiton.org 29 Aug '11
by mfortun@users.nuiton.org 29 Aug '11
29 Aug '11
Author: mfortun
Date: 2011-08-29 14:47:01 +0200 (Mon, 29 Aug 2011)
New Revision: 1196
Url: http://nuiton.org/repositories/revision/wikitty/1196
Log:
code documentation for ui part
Modified:
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/ApplicationListener.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationConfig.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationProxy.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationSession.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEdit.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEval.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRaw.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRestoreWikitty.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionView.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LoginInterceptor.java
trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LogoutInterceptor.java
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/ApplicationListener.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/ApplicationListener.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/ApplicationListener.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -12,6 +12,12 @@
import org.nuiton.i18n.init.I18nInitializer;
import org.nuiton.util.FileUtil;
+/**
+ * Class use to set general properties and initialize needed component
+ * for the wikitty publication web application
+ * @author mfortun
+ *
+ */
public class ApplicationListener implements ServletContextListener {
private static final Log log = LogFactory.getLog(ApplicationListener.class);
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationConfig.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationConfig.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationConfig.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -14,6 +14,13 @@
import static org.nuiton.i18n.I18n._;
+/**
+ * Specific configurations for wikitty publication web apps. Used to get
+ * application for named contextData.
+ *
+ * @author mfortun
+ *
+ */
public class WikittyPublicationConfig {
/** to use log facility, just put in your code: log.info(\"...\"); */
@@ -21,16 +28,41 @@
static final public String CONFIG_FILE_KEY = "wikitty.publication.config.pattern";
static final public String DEFAULT_FILE_COMPLEMENT = "default";
+ /**
+ * Used to store already instanciate application config, with contextData as
+ * key
+ */
static protected Map<String, ApplicationConfig> instanceMap = new HashMap<String, ApplicationConfig>();
private WikittyPublicationConfig() {
}
+ /**
+ * return a new instance of application config for contextData if any
+ *
+ * @param Context
+ * contextData
+ * @return application config for contextData
+ */
static public ApplicationConfig getConfig(String Context) {
return getConfig(null, null, Context);
}
+ /**
+ * return the application config requested corresponding with the
+ * configfileName loading default properties, and load properties for
+ * contextData if any.
+ *
+ * @param props
+ * properties
+ * @param configFilename
+ * @param wsContext
+ * the contextData
+ * @param args
+ * passed threw main
+ * @return application config requested
+ */
static public ApplicationConfig getConfig(Properties props,
String configFilename, String wsContext, String... args) {
@@ -77,12 +109,20 @@
return wsConfig;
}
- public static ApplicationConfig getInstance(String context) {
+
+ /**
+ * return application config for contextData if any or new
+ * instance of application config if not created
+ *
+ * @param Context
+ * contextData
+ * @return application config for contextData
+ */
+ static public ApplicationConfig getInstance(String context) {
if (!instanceMap.containsKey(context)) {
synchronized (WikittyPublicationConfig.class) {
if (!instanceMap.containsKey(context)) {
- instanceMap.put(context,
- getConfig(context));
+ instanceMap.put(context, getConfig(context));
}
}
}
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationProxy.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationProxy.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationProxy.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -21,14 +21,26 @@
*
*/
private static final long serialVersionUID = -568462410130999972L;
-
+
+ /**
+ * Map to store instance of service, with contextData as key.
+ * Used to avoid multiple instantiation of the same service.
+ */
static protected Map<String, WikittyService> mapService = new HashMap<String, WikittyService>();
+
private WikittyPublicationProxy(ApplicationConfig config, WikittyService ws) {
super(config, ws);
-
}
+ /**
+ * return an instance of proxy service for a specific context with
+ * application config.
+ *
+ * @param config the application config to instantiate service
+ * @param context contextData for service
+ * @return the instance of wikitty service
+ */
static public WikittyPublicationProxy getInstance(String token,
String context) {
ApplicationConfig config = WikittyPublicationConfig
@@ -40,6 +52,14 @@
return result;
}
+ /**
+ * return an instance of wikitty service for a specific context with
+ * application config. If already instanciate return else create a new
+ * instance
+ * @param config the application config to instantiate service
+ * @param context contextData for service
+ * @return the instance of wikitty service
+ */
static protected WikittyService getWikittyService(ApplicationConfig config,
String context) {
if (!mapService.containsKey(context)) {
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationSession.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationSession.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/WikittyPublicationSession.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -9,6 +9,13 @@
import java.io.Serializable;
import java.util.Map;
+/**
+ * Object store inside session to store information relative to the current
+ * user, proxy etc.
+ *
+ * @author mfortun
+ *
+ */
public class WikittyPublicationSession implements Serializable {
/**
@@ -19,10 +26,10 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(WikittyPublicationSession.class);
- static final private String WIKITTY_PUBLICATION_SESSION_KEY = WikittyPublicationSession.class
+ static final protected String WIKITTY_PUBLICATION_SESSION_KEY = WikittyPublicationSession.class
.getSimpleName();
- static final private String WIKITTY_PUBLICATION_SESSION_SEP = "_";
+ static final protected String WIKITTY_PUBLICATION_SESSION_SEP = "_";
protected String securityToken = null;
transient protected WikittyUser user;
@@ -45,6 +52,15 @@
+ WIKITTY_PUBLICATION_SESSION_SEP + contextData);
}
+ /**
+ * return the wikittySession store in the http request for the context
+ *
+ * @param request
+ * the current request
+ * @param context
+ * the current contextData
+ * @return the wikittyserssion
+ */
static public WikittyPublicationSession getWikittyPublicationSession(
HttpServletRequest request, String context) {
HttpSession session = request.getSession();
@@ -53,8 +69,22 @@
return result;
}
+ /**
+ * return the wikittySession store in the http sessions for the context
+ *
+ * @param httpSession
+ * the current sessions
+ * @param context
+ * the current contextData
+ * @return the wikittyserssion
+ */
static public WikittyPublicationSession getWikittyPublicationSession(
HttpSession httpSession, String contextData) {
+
+ /*
+ * The session is store with a key that containt context Data name the
+ * ensure to not erase a session
+ */
WikittyPublicationSession result = (WikittyPublicationSession) httpSession
.getAttribute(WIKITTY_PUBLICATION_SESSION_KEY
+ WIKITTY_PUBLICATION_SESSION_SEP + contextData);
@@ -66,8 +96,23 @@
return result;
}
+ /**
+ * return the wikittySession store in sessions Map for the context
+ *
+ * @param session
+ * the current sessions Map
+ * @param context
+ * the current contextData
+ * @return the wikittyserssion
+ */
static public WikittyPublicationSession getWikittyPublicationSession(
Map<String, Object> session, String contextData) {
+
+ /*
+ * The session is store with a key that containt context Data name the
+ * ensure to not erase a session
+ */
+
WikittyPublicationSession result = (WikittyPublicationSession) session
.get(WIKITTY_PUBLICATION_SESSION_KEY
+ WIKITTY_PUBLICATION_SESSION_SEP + contextData);
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEdit.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEdit.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEdit.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -30,6 +30,15 @@
import java.util.Map;
import java.util.Map.Entry;
+
+/**
+ *
+ * Java class for the edit action that allow to create and edit
+ * wikitty.
+ *
+ * @author mfortun
+ *
+ */
public class PublicationActionEdit extends PublicationBaseAction {
/**
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEval.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEval.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionEval.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -42,6 +42,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
+import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
@@ -51,6 +52,12 @@
import java.util.List;
import java.util.Map;
+/**
+ * Java class
+ *
+ * @author mfortun
+ *
+ */
public class PublicationActionEval extends PublicationBaseAction implements
ServletResponseAware, ServletRequestAware, PublicationContext,
EvalInterface {
@@ -86,6 +93,31 @@
@Override
public String execute() throws Exception {
+ // extract jars from wikitty service
+ URL[] urls = getJarsDependency();
+
+ // initialize classLoader
+ // add jars to our custom classLoader
+ classloader = new WikittyPublicationClassLoader(urls);
+ // REALLY IMPORTANT put the classloader with the jarloaded
+
+ Thread.currentThread().setContextClassLoader(classloader);
+
+ doAction(this, getMandatoryArguments());
+
+ return SUCCESS;
+ }
+
+ /**
+ * extract jars from wikitty service, and return urls to thoses extracted
+ * jars
+ *
+ * @return urls to jars that must be add to classpath
+ * @throws IOException
+ * @throws MalformedURLException
+ */
+ protected URL[] getJarsDependency() throws IOException,
+ MalformedURLException {
// check for temporaryn dir
if (!FileUtils.getTempDirectory().exists()) {
FileUtils.getTempDirectory().mkdir();
@@ -93,13 +125,15 @@
File jarRepo;
File md5File;
+ // base criteria to found jars
Search wikittyPubDataJarCrit = Search.query().eq(
WikittyPubData.FQ_FIELD_WIKITTYPUBDATA_MIMETYPE,
MimeTypePubHelper.JAR_TYPE);
+
String jarRepoPath = FileUtils.getTempDirectory().getAbsolutePath()
+ File.separator + JAR_TEMP_DIR_NAME;
- // initialiser directory etc if context set
+ // if contextApps set, update criteria
if (contextApps != null) {
// if application context is set sub dir
jarRepoPath = jarRepoPath + File.separator + contextApps;
@@ -108,6 +142,7 @@
WikittyLabel.FQ_FIELD_WIKITTYLABEL_LABELS, contextApps);
}
+ // dir that containt jars
jarRepo = new File(jarRepoPath + File.separator);
md5File = new File(jarRepo.getAbsolutePath() + File.separator
+ MD5_FILE);
@@ -119,8 +154,11 @@
String md5ref = FileUtil.readAsString(md5File);
+ // find jars
PagedResult<Wikitty> jardatas = getWikittyProxy().findAllByCriteria(
wikittyPubDataJarCrit.criteria());
+
+ // construct md5 of the wikitty jars
String sumMd5 = StringUtils.EMPTY;
for (Wikitty w : jardatas) {
sumMd5 += w.getId();
@@ -128,6 +166,7 @@
}
sumMd5 = StringUtil.encodeMD5(sumMd5);
+ // if md5 not the same that mean that jars must be write on disk
if (!sumMd5.equals(md5ref)) {
FileUtil.writeString(md5File, sumMd5);
for (Wikitty w : jardatas) {
@@ -140,11 +179,13 @@
}
+ // collect urls of the jars loaded
File[] jarFiles = jarRepo.listFiles(JarUtil.jarFilter);
URL[] urls = new URL[1];
classPathSup = new LinkedList<File>();
classPathSup.add(jarRepo);
urls[0] = jarRepo.toURI().toURL();
+
if (jarFiles != null) {
urls = new URL[jarFiles.length + 1];
int i = 0;
@@ -156,17 +197,7 @@
i++;
}
}
-
- // initialize classLoader
-
- classloader = new WikittyPublicationClassLoader(urls);
- // REALLY IMPORTANT put the classloader with the jarloaded
-
- Thread.currentThread().setContextClassLoader(classloader);
-
- doAction(this, getMandatoryArguments());
-
- return SUCCESS;
+ return urls;
}
/*
@@ -191,9 +222,13 @@
} else {
WikittyProxy proxy = context.getWikittyProxy();
Wikitty w = proxy.findByCriteria(criteria);
-
if (w == null || !w.hasExtension(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
+ /*
+ * If wikitty is not a wikitty pub text just return an error if
+ * wikitty is wikitty pub data do the same as raw action
+ */
+
if (w.hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)) {
contentType = WikittyPubDataHelper.getMimeType(w);
@@ -211,10 +246,12 @@
|| WikittyPubTextHelper.getMimeType(w).equals(
MimeTypePubHelper.JAVA_TYPE)) {
+ // if java type deleguate
result = evalJava(context, subContext, decorator, criteria, w);
} else {
+ // check if wikitty is the kind that contain ui
log.debug("Check if transformed needed");
if (decorator.isTransformationNeeded(w)) {
log.debug("transformeneed");
@@ -232,7 +269,7 @@
if (content == null) {
result = getError(context);
-
+
} else {
String mimetype = WikittyPubTextHelper.getMimeType(w);
@@ -258,10 +295,6 @@
bindings.put(WikittyPublicationConstant.WIKITTY_VAR, w);
bindings.put(WikittyPublicationConstant.EVAL_VAR, this);
- // TODO mfortun-2011-08-08 construire un class path avec
- // des jar et les classes contenu dans wikitty
- // publication
-
result = ScriptEvaluator
.eval(classloader, criteria.getName(), content,
mimetype, bindings);
@@ -277,11 +310,17 @@
/**
* Method to evaluate java kind of wikittyPubText
- * @param context the context
- * @param subContext the subcontex
- * @param decorator instance codeDecorator
- * @param criteria the criteria
- * @param w the wikitty
+ *
+ * @param context
+ * the context
+ * @param subContext
+ * the subcontex
+ * @param decorator
+ * instance codeDecorator
+ * @param criteria
+ * the criteria
+ * @param w
+ * the wikitty
* @return the result of wikittyPubText content evaluation
*/
protected Object evalJava(PublicationContext context,
@@ -289,10 +328,13 @@
Criteria criteria, Wikitty w) {
Object result;
-
+ // if wikitty pub text with java, need to transform it as
+ // wikitty pub text compiled with java class bytecode
if (WikittyPubTextHelper.getMimeType(w).equals(
MimeTypePubHelper.JAVA_TYPE)) {
+
String name = WikittyPubTextHelper.getName(w);
+ // the java and the class are store insiede tmp directory
if (!FileUtils.getTempDirectory().exists()) {
FileUtils.getTempDirectory().mkdir();
}
@@ -303,10 +345,12 @@
javaWikittyFile.mkdir();
}
+ // encapsulate java inside a class
String javaContent = decorator.getCode(w);
String content = null;
try {
+ // compile
File javaFile = new File(javaWikittyFile.getAbsolutePath()
+ File.separator + name + ".java");
File clazzFile = new File(javaWikittyFile.getAbsolutePath()
@@ -315,6 +359,8 @@
if (javaFile.exists()) {
content = FileUtil.readAsString(javaFile);
}
+ // compile only if the content has change if java already on the
+ // FS
if (content == null
|| !StringUtil.encodeMD5(javaContent).equals(
StringUtil.encodeMD5(content))
@@ -332,7 +378,7 @@
+ File.separator + name + ".class");
byte[] wikittyByte = FileUtil.fileToByte(classFile);
-
+ // add extension and attribut
w.addExtension(WikittyPubTextCompiledImpl.extensionWikittyPubTextCompiled);
WikittyPubTextCompiledHelper.setByteCode(w, wikittyByte);
} catch (Exception e) {
@@ -347,7 +393,8 @@
}
}
-
+ // evaluate the content of the wikittyPubTextCompiled,
+ // the byte code of a class that inherit of a specific abstract class
byte[] content = WikittyPubTextCompiledHelper.getByteCode(w);
if (content == null) {
result = getError(context);
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRaw.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRaw.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRaw.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -18,6 +18,13 @@
import java.util.Collections;
import java.util.List;
+/**
+ * Java class for the raw action that return wikittyPub simply with their
+ * Mime Type.
+ *
+ * @author mfortun
+ *
+ */
public class PublicationActionRaw extends PublicationBaseAction implements
ServletResponseAware {
@@ -50,6 +57,7 @@
Wikitty w = proxy.findByCriteria(criteria);
+ // return wikittyPubWith their mime type
if (w.hasExtension(WikittyPubData.EXT_WIKITTYPUBDATA)) {
mimeType = WikittyPubDataHelper.getMimeType(w);
inputStream = new ByteArrayInputStream(
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRestoreWikitty.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRestoreWikitty.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionRestoreWikitty.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -4,6 +4,11 @@
import com.opensymphony.xwork2.ActionContext;
+/**
+ * Class for fragment action used to show a wikitty in the view page
+ * @author mfortun
+ *
+ */
public class PublicationActionRestoreWikitty extends PublicationBaseAction {
/**
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionView.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionView.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/action/PublicationActionView.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -13,6 +13,12 @@
import java.util.Collections;
import java.util.List;
+/**
+ * class for the view action to list wikitty and search
+ *
+ * @author mfortun
+ *
+ */
public class PublicationActionView extends PublicationBaseAction {
protected PagedResult<Wikitty> pagedResult;
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LoginInterceptor.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LoginInterceptor.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LoginInterceptor.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -63,16 +63,13 @@
String context = StringUtil.split(
invocation.getProxy().getActionName(), "/")[0];
-
+ // get the session relative to the context
WikittyPublicationSession pubSession = WikittyPublicationSession
.getWikittyPublicationSession(session,context);
WikittyUser user = pubSession.getUser();
-
- HttpServletRequest request = ServletActionContext.getRequest();
-
-
// Construct redirect url.
+ HttpServletRequest request = ServletActionContext.getRequest();
String redirect = "/"+ context+request.getContextPath() + error ;
redirect += "?success="+request.getServletPath();
Modified: trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LogoutInterceptor.java
===================================================================
--- trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LogoutInterceptor.java 2011-08-29 09:45:10 UTC (rev 1195)
+++ trunk/wikitty-publication-ui/src/main/java/org/nuiton/wikitty/publication/ui/interceptor/LogoutInterceptor.java 2011-08-29 12:47:01 UTC (rev 1196)
@@ -48,7 +48,9 @@
// get wikittypublication context
String contextData = StringUtil.split(invocation.getProxy()
.getActionName(), "/")[0];
+ // invalidate session for the context
WikittyPublicationSession.invalidate(session, contextData);
+ // next.
String result = invocation.invoke();
return result;
}
1
0