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
October 2010
- 7 participants
- 86 discussions
Author: bpoussin
Date: 2010-10-27 11:06:35 +0200 (Wed, 27 Oct 2010)
New Revision: 454
Url: http://nuiton.org/repositories/revision/wikitty/454
Log:
add some concept documentation
Modified:
trunk/src/site/rst/index.rst
Modified: trunk/src/site/rst/index.rst
===================================================================
--- trunk/src/site/rst/index.rst 2010-10-27 09:05:10 UTC (rev 453)
+++ trunk/src/site/rst/index.rst 2010-10-27 09:06:35 UTC (rev 454)
@@ -26,3 +26,91 @@
=======
Wikitty est un système de stockage et de recherche de type clé/valeur.
+
+Concept métier
+==============
+
+Un objet java ou une table relationnelle sont des choses figées au moment de
+l'écriture du code ou la création de la base de données. Pour les faire évoluer
+par la suite, il faut donc retourner dans le code, prévoir la migration,
+etc.
+
+Il est aussi difficile de maintenir un code cohérent lorsque l'on veut
+développer la même application pour des besoins semblable mais qui ont
+chacun de petites spécificités qui rend le code difficile à maintenir sur le
+long terme, entre le code commun et le code spécifique.
+
+Wikitty essaie de répondre à ces différentes problèmatiques en apportant une
+solution technique simple à mettre en oeuvre et à utiliser.
+
+Un objet n'a pas de champs prédéfini, mais seulement un identifiant unique.
+Pour connaître les champs disponibles sur un objet, il faut regarder les
+extensions qui lui ont été ajoutées. Une extension est la définition d'un
+ensemble de champs. Par exemple nous pouvons définir l'extension Personne et
+l'extension Employer et les utiliser sur le même objet. L'objet aura donc
+tous les champs Personne et tous les champs Employer il portera donc les
+deux notions en même temps. Si pour le projet est utilisé par une société
+qui à besoin de champs complémentaire à Employer, il n'y a pas besoin de
+modifier les extensions existantes ou modifier le schéma de la base. Il faut
+simplement créer une extension spécifique que l'on ajoutera à Employer et
+que l'on pourra utilisé pour la visualisation de l'Employer. Si le projet
+principale évolue, cela n'a aucun impact sur l'extension spécifique de cette
+société. Il n'y a donc aucun effort à faire pour maintenir des extensions
+spécifiques. Les développeurs du coeur de l'application n'ont pas besoin de
+se soucier de chose spécifique qui aurait pu être développer. De la même
+façon, il n'y a pas de surcoût de maintenance pour les personnes ayant fait
+des extensions spécifiques, ces extensions sont réutilisables de version en
+version sans modification ou maintenance.
+
+Le coeur de Wikitty apporte les services de base:
+
+- génération de Bean métier pour une utilisation simple par le développeur
+- une classe WikittyProxy qui masque les objets Wikitty et manipule les Bean
+ métier généré
+- Création, sauvegarde, restoration des Entités
+- Recherche des entités (fulltext, facette, ...)
+- notion d'arbre
+
+Les services additionnels existants:
+
+- notion de label (pour étiqueter des objets)
+- sécurité: authentification et autorisation
+- cache
+- notification (synchronisation de deux serveurs, notification en
+ client/serveur, listener sur les modifications)
+- import/export
+
+Concept technique
+=================
+
+Le concept est d'avoir un coeur le plus simple possible avec quelques methodes
+(une vingtaine).
+- lecture
+- ecriture
+- recherche
+- login/logout
+- check de droit (read, write, delete)
+
+Les nouveaux services (cache, securite, notification, ...) s'intercale en
+couche au dessus du coeur pour founir les services.
+
+Le coeur delegue le travail à trois services qui peuvent être implanté avec
+des techologies différentes:
+- stockage des extensions (memoire, jdbc, hbase, jpa, ...)
+- stockage des données (memoire, jdbc, hbase, jpa, ...)
+- indexation et recherhce (memoire, SolR, ...)
+
+Il est donc possible d'ajouter de nouveau service de haut niveau, ou
+d'ajouter de nouvelle façon de stocker l'information.
+
+La partie cliente des applications ne travail qu'avec le WikittyProxy qui
+masque la notion d'objet Wikitty pour retourner des beans metiers facilement
+manipulable par le développeur.
+
+Service haut niveau
+===================
+
+Un service de haut niveau peut contenir:
+- des extensions spécifiques
+- une couche de service specifiques
+- une classe Helper
1
0
Author: bpoussin
Date: 2010-10-27 11:05:10 +0200 (Wed, 27 Oct 2010)
New Revision: 453
Url: http://nuiton.org/repositories/revision/wikitty/453
Log:
use properties file to put object version
Added:
trunk/wikitty-api/src/main/xmi/wikitty.properties
Modified:
trunk/wikitty-api/src/main/xmi/wikitty.zargo
Added: trunk/wikitty-api/src/main/xmi/wikitty.properties
===================================================================
--- trunk/wikitty-api/src/main/xmi/wikitty.properties (rev 0)
+++ trunk/wikitty-api/src/main/xmi/wikitty.properties 2010-10-27 09:05:10 UTC (rev 453)
@@ -0,0 +1,7 @@
+org.nuiton.wikitty.WikittyAuthorisation.class.tagvalue.version=1.0
+org.nuiton.wikitty.WikittyGroup.class.tagvalue.version=1.0
+org.nuiton.wikitty.WikittyLabel.class.tagvalue.version=1.0
+org.nuiton.wikitty.WikittyToken.class.tagvalue.version=1.0
+org.nuiton.wikitty.WikittyTreeNode.class.tagvalue.version=2.0
+org.nuiton.wikitty.WikittyUser.class.tagvalue.version=1.0
+org.nuiton.wikitty.WikittyI18n.class.tagvalue.version=1.0
Modified: trunk/wikitty-api/src/main/xmi/wikitty.zargo
===================================================================
(Binary files differ)
1
0
Author: bpoussin
Date: 2010-10-27 11:04:19 +0200 (Wed, 27 Oct 2010)
New Revision: 452
Url: http://nuiton.org/repositories/revision/wikitty/452
Log:
Each WikittyService modification method must return WikittyServiceEvent
http://www.nuiton.org/issues/show/944
Simplify WikittyService Interface to simplify maintenance and additional service layer
http://www.nuiton.org/issues/show/994
Added:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEnhanced.java
Removed:
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/UpdateResponse.java
Modified:
trunk/pom.xml
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/PagedResult.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/Wikitty.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCache.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCopyOnWrite.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtensionStorage.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyImpl.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittySearchEngin.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceDelegator.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEvent.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceInMemory.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyStorage.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java
trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportCSV.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/importexport/ImportExportCSVTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/AbstractWikittyServiceTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceCachedTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceSecurityTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/WikittyServiceNotificationTest.java
trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java
trunk/wikitty-hessian-client/src/main/java/org/wikitty/hessian/WikittyHessianFactory.java
trunk/wikitty-hessian-server/src/main/java/org/nuiton/wikitty/hessian/WikittyServiceHessianDelegator.java
trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java
trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java
trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEnginSolr.java
trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/AbstractTestSolr.java
trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/TreeTest.java
trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/pom.xml 2010-10-27 09:04:19 UTC (rev 452)
@@ -140,7 +140,7 @@
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-utils</artifactId>
- <version>1.5</version>
+ <version>1.6-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
@@ -503,7 +503,6 @@
</plugin>
</plugins>
</pluginManagement>
-
</build>
<profiles>
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/PagedResult.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/PagedResult.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/PagedResult.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -118,7 +118,7 @@
// Si ce n'est pas le cas, ca veut dire que le developpeur utilisant
// ce PagedResult ne sait pas ce qu'il fait :)
List<String> ids = (List<String>) results;
- castedResult = ws.restore(securityToken, ids);
+ castedResult = ws.restore(securityToken, null, ids);
} else {
throw new ClassCastException("PagedResult don't contains" +
" wikitty String id but " + results.get(0).getClass());
Deleted: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/UpdateResponse.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/UpdateResponse.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/UpdateResponse.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -1,91 +0,0 @@
-/*
- * #%L
- * Wikitty :: api
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Lesser Public License for more details.
- *
- * You should have received a copy of the GNU General Lesser Public
- * License along with this program. If not, see
- * <http://www.gnu.org/licenses/lgpl-3.0.html>.
- * #L%
- */
-package org.nuiton.wikitty;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-public class UpdateResponse implements Serializable {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -5908785223965002731L;
-
- protected Map<String, String> idVersionMap = new HashMap<String, String>();
- protected Map<String, Date> idDeletionDateMap = new HashMap<String, Date>();
-
- public UpdateResponse() {
- super();
- idVersionMap = new HashMap<String, String>();
- }
-
- /**
- * Merge all update passed in argument in local update list
- * @param update
- */
- public void add(UpdateResponse update) {
- idVersionMap.putAll(update.idVersionMap);
- idDeletionDateMap.putAll(update.idDeletionDateMap);
- }
-
- public void addVersionUpdate( String id, String version ) {
- idVersionMap.put(id, version);
- }
-
- public void addDeletionDateUpdate(String id, Date date) {
- idDeletionDateMap.put(id, date);
- }
-// @Deprecated
-// public void update(BusinessEntity e) {
-// update((BusinessEntityWikitty) e);
-// }
-
-// @Deprecated
-// public void update(BusinessEntityWikitty e) {
-// update(e.getWikitty());
-// }
-
- /**
- * Update data directly in object passed in argument.
- * Actualy only version and deletion date are updated.
- * And internaly wikitty object is marked clean (not dirty)
- * @param e
- */
- public void update(Wikitty e) {
- // update version
- String id = e.getId();
- String version = idVersionMap.get(id);
- if (version != null) {
- e.setVersion(version);
- }
- Date date = idDeletionDateMap.get(id);
- if (date != null) {
- e.setDeleteDate(date);
- }
- e.clearDirty();
- }
-
-}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/Wikitty.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/Wikitty.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/Wikitty.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -44,6 +44,13 @@
void removePropertyChangeListener(String propertyName,
PropertyChangeListener listener);
+ /**
+ * Replace all field of current wikitty with field found in w.
+ * This two wikitty must have same id
+ * @param w wikitty where we take information
+ */
+ void replace(Wikitty w);
+
String getId();
boolean isDeleted();
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCache.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCache.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCache.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -164,21 +164,8 @@
*/
@Override
public void putWikitty(WikittyServiceEvent event) {
-
- Collection<String> ids = event.getIds();
- Map<String, String> idsVersions = event.getIdVersions();
-
- for (String id : ids) {
- // put on server, remove it from local cache
- Wikitty currentWikitty = getWikitty(id);
- if (currentWikitty != null) {
- String version = idsVersions.get(id);
- if (WikittyUtil.versionGreaterThan(version, currentWikitty.getVersion())) {
- removeWikitty(id);
- }
- }
- }
-
+ Collection<Wikitty> wikitties = event.getWikitties().values();
+ putAllWikitty(wikitties);
}
/*
@@ -186,7 +173,7 @@
*/
@Override
public void removeWikitty(WikittyServiceEvent event) {
- for (String id : event.getIds()) {
+ for (String id : event.getRemoveDate().keySet()) {
removeWikitty(id);
}
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCopyOnWrite.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCopyOnWrite.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyCopyOnWrite.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -61,7 +61,26 @@
protected WikittyCopyOnWrite(Wikitty target) {
this.target = target;
}
-
+
+ @Override
+ public void replace(Wikitty w) {
+ // test make a the copy once
+ if (targetIsACopy) {
+ target.replace(w);
+ } else {
+ try {
+ target = w.clone();
+ if (log.isTraceEnabled()) {
+ log.trace(this + " now has for target " + target);
+ }
+ } catch (CloneNotSupportedException eee) {
+ throw new WikittyException(String.format(
+ "unable to clone wikitty %s", target), eee);
+ }
+ targetIsACopy = true;
+ }
+ }
+
/** replace {@link #target} with a clone
*
* this method must be called to prevent any modification on target
@@ -74,8 +93,9 @@
if (log.isTraceEnabled()) {
log.trace(this + " now has for target " + target);
}
- } catch (CloneNotSupportedException e) {
- log.error("unable to clone wikitty " + target, e);
+ } catch (CloneNotSupportedException eee) {
+ throw new WikittyException(String.format(
+ "unable to clone wikitty %s", target), eee);
}
targetIsACopy = true;
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtensionStorage.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtensionStorage.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyExtensionStorage.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -45,7 +45,8 @@
* @param extensions the extensions to store
* @return information usefull for client side update data
*/
- UpdateResponse store(WikittyTransaction transaction, Collection<WikittyExtension> extensions);
+ WikittyServiceEvent store(WikittyTransaction transaction,
+ Collection<WikittyExtension> extensions);
/**
* Return true if id exists in storage.
@@ -101,6 +102,6 @@
*
* @param transaction transaction
*/
- public void clear(WikittyTransaction transaction);
+ public WikittyServiceEvent clear(WikittyTransaction transaction);
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyImpl.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyImpl.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyImpl.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -40,6 +40,10 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.apache.commons.lang.ObjectUtils;
+import org.nuiton.util.ObjectUtil;
/**
* Wikitty implementation.
@@ -104,6 +108,57 @@
}
/**
+ * Replace all field of current wikitty with field found in w.
+ * This two wikitty must have same id.
+ *
+ * This method is used to clone Wikitty too
+ *
+ * @param w wikitty where we take information
+ */
+ @Override
+ public void replace(Wikitty w) {
+ // il faut que ce soit le meme objet mais pas la meme instance
+ // car ca ne sert a rien de copier un objet sur lui meme
+ if (this == w) {
+ return;
+ }
+ if (this.getId().equals(w.getId())) {
+ this.extensions.clear();
+ this.fieldValue.clear();
+ for (WikittyExtension ext : w.getExtensions()) {
+ String extName = ext.getName();
+ this.extensions.put(extName, ext);
+ for(String fieldName : ext.getFieldNames()) {
+ Object value = w.getFieldAsObject(extName, fieldName);
+ if (value != null) {
+ // seul les collections sont a cloner, sinon ce ne sont
+ // que des types primitifs immutable
+ if (value instanceof Collection && value instanceof Cloneable) {
+ try {
+ value = ObjectUtil.clone((Cloneable) value);
+ } catch (CloneNotSupportedException eee) {
+ throw new WikittyException(String.format(
+ "Can't copy field %s.%s",
+ ext.getName(), fieldName), eee);
+ }
+ }
+ this.setField(extName, fieldName, value);
+ }
+ }
+ }
+
+ // we must change version after field value copy, because
+ // copy increment version because it use setField method
+ this.version = w.getVersion();
+ this.deleteDate = w.getDeleteDate();
+
+ clearDirty();
+ } else {
+ throw new IllegalArgumentException("Wikitty in argument don't have same id");
+ }
+ }
+
+ /**
* Always call this method because field is transient.
*
* @return
@@ -260,7 +315,7 @@
@Override
public void addExtension(List<WikittyExtension> exts) {
for (WikittyExtension ext : exts) {
- extensions.put(ext.name, ext);
+ addExtension(ext);
}
}
@@ -571,7 +626,7 @@
return null;
} catch (Exception eee) {
throw new WikittyException(String.format(
- "Can't add value to field '%s'",
+ "Can't get value to field '%s'",
ext + "." + fieldName), eee);
}
}
@@ -614,7 +669,7 @@
return result;
} catch (Exception eee) {
throw new WikittyException(String.format(
- "Can't add value to field '%s'",
+ "Can't get value to field '%s'",
ext + "." + fieldName), eee);
}
}
@@ -849,16 +904,16 @@
return str;
}
+ /**
+ * Clone is deep for extension and values
+ * @return
+ * @throws CloneNotSupportedException
+ */
@Override
public WikittyImpl clone() throws CloneNotSupportedException {
- WikittyImpl clone = (WikittyImpl) super.clone();
- // deep copy of field and values
- clone.fieldValue = new HashMap<String, Object>();
- for (Map.Entry<String, Object> aFieldValue : fieldValue.entrySet()) {
- clone.fieldValue.put(aFieldValue.getKey(), aFieldValue.getValue());
- }
- clone.clearDirty();
- return clone;
+ WikittyImpl result = new WikittyImpl(this.id);
+ result.replace(this);
+ return result;
}
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyProxy.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -54,7 +54,7 @@
public class WikittyProxy {
/** Delegated wikitty service. */
- protected WikittyService wikittyService;
+ protected WikittyServiceEnhanced wikittyService;
/**
* Security token.
@@ -77,7 +77,7 @@
*/
public WikittyProxy(WikittyService wikittyService) {
this();
- this.wikittyService = wikittyService;
+ setWikittyService(wikittyService);
}
public String login(String login, String password) {
@@ -99,11 +99,11 @@
}
public WikittyService getWikittyService() {
- return wikittyService;
+ return wikittyService.getDelegate();
}
public void setWikittyService(WikittyService wikittyService) {
- this.wikittyService = wikittyService;
+ this.wikittyService = new WikittyServiceEnhanced(wikittyService);
}
/**
@@ -122,7 +122,8 @@
public <E extends BusinessEntity> E store(E e) {
Wikitty w = ((BusinessEntityWikitty)e).getWikitty();
- UpdateResponse resp = wikittyService.store(securityToken, w);
+ WikittyServiceEvent resp = wikittyService.store(securityToken, w);
+ // update object
resp.update(w);
return e;
}
@@ -143,7 +144,7 @@
}
// call the service with Wikitty
- UpdateResponse resp = wikittyService.store(securityToken, wikitties);
+ WikittyServiceEvent resp = wikittyService.store(securityToken, wikitties);
// update object
for (Wikitty w : wikitties) {
@@ -417,8 +418,8 @@
* @param treeNodeId tree node id to delete
* @return {@true} if at least one node has been deleted
*/
- public List<String> deleteTree(String treeNodeId) {
- List<String> result = wikittyService.deleteTree(securityToken, treeNodeId);
+ public WikittyServiceEvent deleteTree(String treeNodeId) {
+ WikittyServiceEvent result = wikittyService.deleteTree(securityToken,treeNodeId);
return result;
}
@@ -555,8 +556,9 @@
* @param ext extension to be persisted
* @return update response
*/
- public UpdateResponse storeExtension(WikittyExtension ext) {
- UpdateResponse response = wikittyService.storeExtension(securityToken, ext);
+ public WikittyServiceEvent storeExtension(WikittyExtension ext) {
+ WikittyServiceEvent response =
+ wikittyService.storeExtension(securityToken, ext);
return response;
}
@@ -566,8 +568,9 @@
* @param exts list of wikitty extension to be persisted
* @return update response
*/
- public UpdateResponse storeExtension(Collection<WikittyExtension> exts) {
- UpdateResponse response = wikittyService.storeExtension(securityToken, exts);
+ public WikittyServiceEvent storeExtension(Collection<WikittyExtension> exts) {
+ WikittyServiceEvent response =
+ wikittyService.storeExtension(securityToken, exts);
return response;
}
@@ -619,8 +622,9 @@
* Use with caution : It will delete ALL indexes from search engine !
* This operation should be disabled in production environment.
*/
- public void clear() {
- wikittyService.clear(securityToken);
+ public WikittyServiceEvent clear() {
+ WikittyServiceEvent result = wikittyService.clear(securityToken);
+ return result;
}
/**
@@ -629,9 +633,8 @@
*
* @return update response
*/
- public UpdateResponse syncEngin() {
- UpdateResponse result = wikittyService.syncEngin(securityToken);
- return result;
+ public void syncEngin() {
+ wikittyService.syncEngin(securityToken);
}
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittySearchEngin.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittySearchEngin.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittySearchEngin.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -49,7 +49,7 @@
* Store wikitty in storage
* @return information usefull for client side update data
*/
- public UpdateResponse store(WikittyTransaction transaction,
+ public void store(WikittyTransaction transaction,
Collection<Wikitty> wikitties);
/**
@@ -59,7 +59,7 @@
* @return <code>UpdateResponse</code>>
* @throws WikittyException
*/
- public UpdateResponse delete(WikittyTransaction transaction,
+ public void delete(WikittyTransaction transaction,
Collection<String> idList) throws WikittyException;
/**
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -122,12 +122,16 @@
*
* @param securityToken security token
*/
- public void clear(String securityToken);
+ public WikittyServiceEvent clear(String securityToken);
/**
* Verifie si l'utilisateur lie au securityToken a le droit d'ecrire
- * le Wikitty passe en argument
+ * le Wikitty passe en argument.
*
+ * On ne peut pas passer seulement l'id du wikitty en parametre car de
+ * nouvelles extensions ont peut lui etre ajouter depuis la derniere
+ * sauvegarde
+ *
* @param securityToken le token de securite qui permet de retrouver
* l'utilisateur et ainsi verifier les droits
* @param wikitty le wikitty a sauver
@@ -163,48 +167,18 @@
public boolean canRead(String securityToken, String wikittyId);
/**
- * Manage Update and creation.
- *
- * @param securityToken security token
- * @param wikitty contains an id all the time.
- * @return update response containing version and id of stored wikitty
- */
- public UpdateResponse store(String securityToken, Wikitty wikitty);
-
- /**
- * Manage Update and creation.
- *
- * @param securityToken security token
- * @param wikitties list of wikitty to be persisted
- * @return update response containing version and id of stored wikitty
- */
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties);
-
- /**
- * Manage Update and creation.
- *
- * @param securityToken security token
- * @param wikitties list of wikitty to be persisted
- * @param force boolean force non version version increment on saved wikitty
- * or force version on wikitty creation (version 0.0)
- * @return update response
- */
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties,
- boolean force);
-
-
- /**
* Manage Update and creation, action is done in transaction passed in
* argument.
*
* @param securityToken security token
- * @param transaction transaction used to do the action (must not be null)
+ * @param transaction transaction used to do the action (can be null, if we
+ * want new transaction)
* @param wikitties list of wikitty to be persisted
* @param force boolean force non version version increment on saved wikitty
* or force version on wikitty creation (version 0.0)
* @return update response
*/
- public UpdateResponse store(String securityToken, WikittyTransaction transaction,
+ public WikittyServiceEvent store(String securityToken, WikittyTransaction transaction,
Collection<Wikitty> wikitties, boolean force);
/**
@@ -226,50 +200,25 @@
public List<String> getAllExtensionsRequires(String securityToken, String extensionName);
/**
- * Manage Update and creation.
- *
- * @param securityToken security token
- * @param ext extension to be persisted
- * @return update response
- */
- public UpdateResponse storeExtension(String securityToken, WikittyExtension ext);
-
- /**
- * Manage Update and creation.
- *
- * @param securityToken security token
- * @param exts list of wikitty extension to be persisted
- * @return update response
- */
- public UpdateResponse storeExtension(String securityToken,
- Collection<WikittyExtension> exts);
-
- /**
* Manage Update and creation, action is done in transaction passed in
* argument
*
* @param securityToken security token
- * @param transaction transaction used to do the action (must not be null)
+ * @param transaction transaction used to do the action (can be null if we
+ * want new transaction)
* @param exts list of wikitty extension to be persisted
* @return update response
*/
- public UpdateResponse storeExtension(String securityToken,
+ public WikittyServiceEvent storeExtension(String securityToken,
WikittyTransaction transaction, Collection<WikittyExtension> exts);
/**
* Load extension from id. Id is 'name[version]'.
- *
- * @param securityToken security token
- * @param extensionId extension id to restore
- * @return the corresponding object, exception if no such object found.
- */
- public WikittyExtension restoreExtension(String securityToken, String extensionId);
-
- /**
* Action is done in transaction passed in argument.
*
* @param securityToken security token
- * @param transaction transaction used to do the action (must not be null)
+ * @param transaction transaction used to do the action (can be null if we
+ * want new transaction)
* @param extensionId
* @return the corresponding object, exception if no such object found.
*/
@@ -280,84 +229,41 @@
* Search extension with name in last version.
*
* @param securityToken security token
+ * @param transaction transaction used to do the action (can be null if we
+ * want new transaction)
* @param name extension name
* @return the corresponding object, exception if no such object found.
*/
public WikittyExtension restoreExtensionLastVersion(
- String securityToken, String name);
-
- /**
- * Search extension with name in last version.
- *
- * @param securityToken security token
- * @param transaction transaction used to do the action (must not be null)
- * @param name extension name
- * @return the corresponding object, exception if no such object found.
- */
- public WikittyExtension restoreExtensionLastVersion(
String securityToken, WikittyTransaction transaction, String name);
/**
- *
- * @param securityToken security token
- * @param id object id to restore
- * @return the corresponding object, or null if object doesn't exist, is
- * deleted or you don't have authorisation (you can check authorisation
- * before call restore with {@link #canRead(java.lang.String, java.lang.String)}
- */
- public Wikitty restore(String securityToken, String id);
-
- /**
- *
- * @param securityToken security token
- * @param id list of wikitty ids to restore
- * @return list of corresponding wikitty, if one id is not valid (no object
- * or deleted or no authorisation) this id is skip and result list have less
- * elements than collection argument
- */
- public List<Wikitty> restore(String securityToken, List<String> id);
-
- /**
* Restore wikitty using opened transaction.
*
* @param securityToken security token
- * @param transaction transaction to use
+ * @param transaction transaction to use (can be null if we
+ * want new transaction)
* @param id list of wikitty ids to restore
* @return list of corresponding wikitty, if one id is not valid (no object
- * or deleted or no authorisation) this id is skip and result list have less
- * elements than collection argument
+ * or deleted or no authorisation) this id return null and result list can
+ * have null elements
*/
- public List<Wikitty> restore(String securityToken, WikittyTransaction transaction, List<String> id);
+ public List<Wikitty> restore(String securityToken,
+ WikittyTransaction transaction, List<String> id);
/**
- * Delete object if id exists.
- *
- * @param securityToken security token
- * @param id object's id to remove
- */
- public void delete(String securityToken, String id);
-
- /**
* Delete all object if id exists.
*
* @param securityToken security token
* @param ids object's ids to remove
*/
- public void delete(String securityToken, Collection<String> ids);
+ public WikittyServiceEvent delete(String securityToken, Collection<String> ids);
/**
- *
- * @param securityToken security token
- * @param criteria
- * @return
- */
- public PagedResult<String> findAllByCriteria(
- String securityToken, Criteria criteria);
-
- /**
*
* @param securityToken security token
- * @param transaction
+ * @param transaction (can be null if we
+ * want new transaction)
* @param criteria
* @return
*/
@@ -365,27 +271,18 @@
WikittyTransaction transaction, Criteria criteria);
/**
- * Fist lonely (or first one) wikitty object that match criteria, if no
+ * First lonely (or first one) wikitty object that match criteria, if no
* wikitty found or first retrived is not authorized for the user return
* null
*
* @param securityToken security token
* @param criteria
+ * @param transaction (can be null if we
+ * want new transaction)
* @return wikitty object or null
*/
- public Wikitty findByCriteria(String securityToken, Criteria criteria);
-
- /**
- * Fist lonely (or first one) wikitty object that match criteria, if no
- * wikitty found or first retrived is not authorized for the user return
- * null
- *
- * @param securityToken security token
- * @param criteria
- * @param transaction
- * @return wikitty object or null
- */
- public Wikitty findByCriteria(String securityToken, WikittyTransaction transaction, Criteria criteria);
+ public Wikitty findByCriteria(String securityToken,
+ WikittyTransaction transaction, Criteria criteria);
/*
* Classification
@@ -409,7 +306,7 @@
* @param treeNodeId tree node id to delete
* @return delete wikitty ids
*/
- public List<String> deleteTree(String securityToken, String treeNodeId);
+ public WikittyServiceEvent deleteTree(String securityToken, String treeNodeId);
/**
* Retrieve wikitty node with count. Wikitty reference by wikittyId MUST
@@ -456,8 +353,7 @@
* reindex all wikitties.
*
* @param securityToken security token
- * @return update response
*/
- public UpdateResponse syncEngin(String securityToken);
+ public void syncEngin(String securityToken);
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -179,47 +179,25 @@
}
@Override
- public void clear(String securityToken) {
- ws.clear(securityToken);
+ public WikittyServiceEvent clear(String securityToken) {
+ WikittyServiceEvent result = ws.clear(securityToken);
cache.clearWikitty();
+ return result;
}
/**
- * delete object in cache
- * @param id
- */
- @Override
- public void delete(String securityToken, String id) {
- ws.delete(securityToken, id);
- cache.removeWikitty(id);
- }
-
- /**
* delete objets in cache
* @param ids
*/
@Override
- public void delete(String securityToken, Collection<String> ids) {
- ws.delete(securityToken, ids);
+ public WikittyServiceEvent delete(String securityToken, Collection<String> ids) {
+ WikittyServiceEvent result = ws.delete(securityToken, ids);
cache.removeAllWikitty(ids);
+ return result;
}
/**
* just wrap service method
- *
- * @param criteria
- * @return
- */
- @Override
- public PagedResult<String> findAllByCriteria(
- String securityToken, Criteria criteria) {
- // if we want to add cache for this method, we must clear cache when
- // addLabel, store, storeExtension are called
- return ws.findAllByCriteria(securityToken, criteria);
- }
-
- /**
- * just wrap service method
*
* @param criteria
* @return
@@ -236,19 +214,6 @@
/**
* just wrap service method
*
- * @param criteria
- * @return
- */
- @Override
- public Wikitty findByCriteria(String securityToken, Criteria criteria) {
- // if we want to add cache for this method, we must clear cache when
- // addLabel, store, storeExtension are called
- return ws.findByCriteria(securityToken, criteria);
- }
-
- /**
- * just wrap service method
- *
* @param securityToken
* @param criteria
* @param transaction
@@ -288,79 +253,6 @@
}
/**
- * just wrap service method
- *
- * @param id
- * @return
- */
- @Override
- public Wikitty restore(String securityToken, String id) {
- Wikitty result = cache.getWikitty(id);
- if (result == null) {
- if (log.isTraceEnabled()) {
- log.trace("Wikitty " + id + " not found in cache");
- }
- result = ws.restore(securityToken, id);
-
- // Dont store in cache if restored wikitty is null
- if (result != null) {
- cache.putWikitty(result);
- }
- } else {
- if (log.isTraceEnabled()) {
- log.trace("Use cached wikitty " + id);
- }
- }
-
- // wrap wikitty to prevent conflict in cache modification
- result = wrapWikitty(result);
- return result;
- }
-
- /**
- * Overriden to put all restored object from server in cache.
- *
- * @param ids id to restore
- * @return restored wikitties
- */
- @Override
- public List<Wikitty> restore(String securityToken, List<String> ids) {
- ArrayList<String> notInCache = new ArrayList<String>();
- // linked to maintains the order
- LinkedHashMap<String, Wikitty> fromCache =
- new LinkedHashMap<String, Wikitty>();
- for (String id : ids) {
- Wikitty w = cache.getWikitty(id);
- fromCache.put(id, w); // put all to maintains order
- if (w == null) { // if not found on cache, ask the server
- notInCache.add(id);
- }
- }
-
- // retrieve missing object
- List<Wikitty> missingInCache = ws.restore(securityToken, notInCache);
-
- cache.putAllWikitty(missingInCache);
-
- for (Wikitty w : missingInCache) {
- if (w != null) {
- // add missing object
- fromCache.put(w.getId(), w);
- }
- }
-
- Collection<Wikitty> tmp = fromCache.values();
-
- // wrap the resulting wikitties to prevent cache conflicts
- ArrayList<Wikitty> result = new ArrayList<Wikitty>();
- for (Wikitty w : tmp) {
- result.add(wrapWikitty(w));
- }
-
- return result;
- }
-
- /**
* Overriden to put all restored object from server in cache
*
* @param securityToken security token
@@ -420,36 +312,11 @@
/**
* just wrap service method
*
- * @param id
- * @return
- */
- @Override
- public WikittyExtension restoreExtension(String securityToken, String id) {
- // TODO poussin 20100412: perhaps use cache for extension ?
- return ws.restoreExtension(securityToken, id);
- }
-
- /**
- * just wrap service method
- *
* @param name
* @return
*/
@Override
public WikittyExtension restoreExtensionLastVersion(
- String securityToken, String name) {
- // TODO poussin 20100412: perhaps use cache for extension ?
- return ws.restoreExtensionLastVersion(securityToken, name);
- }
-
- /**
- * just wrap service method
- *
- * @param name
- * @return
- */
- @Override
- public WikittyExtension restoreExtensionLastVersion(
String securityToken, WikittyTransaction transaction, String name) {
// TODO poussin 20100412: perhaps use cache for extension ?
// if use cache use transaction.getCache()
@@ -489,113 +356,36 @@
* @return
*/
@Override
- public List<String> deleteTree(String securityToken, String wikittyId) {
+ public WikittyServiceEvent deleteTree(String securityToken, String wikittyId) {
return ws.deleteTree(securityToken, wikittyId);
}
/**
- * Overriden to update wikitty and put it in cache
- * @param wikitty
- * @return
- */
- @Override
- public UpdateResponse store(String securityToken, Wikitty wikitty) {
- UpdateResponse result = ws.store(securityToken, wikitty);
-
- result.update(wikitty);
- cache.putWikitty(wikitty);
-
- return result;
- }
-
- /**
* Overriden to put wikitty in cache
*
* @param wikitties
- * @return
- */
- @Override
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties) {
- UpdateResponse result = ws.store(securityToken, wikitties);
-
- for (Wikitty w : wikitties) {
- result.update(w);
- }
- cache.putAllWikitty(wikitties);
-
- return result;
- }
-
- /**
- * Overriden to put wikitty in cache
- *
- * @param wikitties
* @param force boolean force non version version increment on saved wikitty
* or force version on wikitty creation (version 0.0)
* @return
*/
@Override
- public UpdateResponse store(String securityToken,
+ public WikittyServiceEvent store(String securityToken, WikittyTransaction transaction,
Collection<Wikitty> wikitties, boolean force) {
- UpdateResponse result = ws.store(securityToken, wikitties, force);
-
- for (Wikitty w : wikitties) {
- result.update(w);
- }
- cache.putAllWikitty(wikitties);
-
- return result;
- }
-
- /**
- * Overriden to put wikitty in cache
- *
- * @param wikitties
- * @param force boolean force non version version increment on saved wikitty
- * or force version on wikitty creation (version 0.0)
- * @return
- */
- @Override
- public UpdateResponse store(String securityToken, WikittyTransaction transaction,
- Collection<Wikitty> wikitties, boolean force) {
- UpdateResponse result = ws.store(securityToken, transaction,
+ WikittyServiceEvent result = ws.store(securityToken, transaction,
wikitties, force);
- for (Wikitty w : wikitties) {
- result.update(w);
+ if (transaction != null) {
+ for (Wikitty w : wikitties) {
+ result.update(w);
+ }
+ transaction.getCache().putAllWikitty(wikitties);
}
- transaction.getCache().putAllWikitty(wikitties);
return result;
}
-
- /**
- * just wrap service method
- *
- * @param ext
- * @return
- */
@Override
- public UpdateResponse storeExtension(String securityToken, WikittyExtension ext) {
- // TODO poussin 20100412: perhaps use cache for extension ?
- return ws.storeExtension(securityToken, ext);
- }
-
- /**
- * just wrap service method
- *
- * @param exts
- * @return
- */
- @Override
- public UpdateResponse storeExtension(String securityToken, Collection<WikittyExtension> exts) {
- // TODO poussin 20100412: perhaps use cache for extension ?
- return ws.storeExtension(securityToken, exts);
- }
-
- @Override
- public UpdateResponse storeExtension(String securityToken,
+ public WikittyServiceEvent storeExtension(String securityToken,
WikittyTransaction transaction, Collection<WikittyExtension> exts) {
// si on implante le cache pour cette methode, utiliser transaction.getCache()
//throw new UnsupportedOperationException("Not supported yet.");
@@ -632,8 +422,8 @@
}
@Override
- public UpdateResponse syncEngin(String securityToken) {
- return ws.syncEngin(securityToken);
+ public void syncEngin(String securityToken) {
+ ws.syncEngin(securityToken);
}
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceDelegator.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceDelegator.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceDelegator.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -28,7 +28,6 @@
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Set;
/**
* Wikitty service delegator.
@@ -44,6 +43,13 @@
/** Delegated wikitty service. */
protected WikittyService delegate;
+ public WikittyServiceDelegator() {
+ }
+
+ public WikittyServiceDelegator(WikittyService delegate) {
+ setDelegate(delegate);
+ }
+
/**
* Get delegated service.
*
@@ -85,29 +91,12 @@
}
@Override
- public void clear(String securityToken) {
- delegate.clear(securityToken);
+ public WikittyServiceEvent clear(String securityToken) {
+ return delegate.clear(securityToken);
}
@Override
- public UpdateResponse store(String securityToken, Wikitty wikitty) {
- return delegate.store(securityToken, wikitty);
- }
-
- @Override
- public UpdateResponse store(String securityToken,
- Collection<Wikitty> wikitties) {
- return delegate.store(securityToken, wikitties);
- }
-
- @Override
- public UpdateResponse store(String securityToken,
- Collection<Wikitty> wikitties, boolean force) {
- return delegate.store(securityToken, wikitties, force);
- }
-
- @Override
- public UpdateResponse store(String securityToken,
+ public WikittyServiceEvent store(String securityToken,
WikittyTransaction transaction, Collection<Wikitty> wikitties,
boolean force) {
return delegate.store(securityToken, transaction, wikitties, force);
@@ -125,29 +114,12 @@
}
@Override
- public UpdateResponse storeExtension(String securityToken,
- WikittyExtension ext) {
- return delegate.storeExtension(securityToken, ext);
- }
-
- @Override
- public UpdateResponse storeExtension(String securityToken,
- Collection<WikittyExtension> exts) {
- return delegate.storeExtension(securityToken, exts);
- }
-
- @Override
- public UpdateResponse storeExtension(String securityToken,
+ public WikittyServiceEvent storeExtension(String securityToken,
WikittyTransaction transaction, Collection<WikittyExtension> exts) {
return delegate.storeExtension(securityToken, transaction, exts);
}
@Override
- public WikittyExtension restoreExtension(String securityToken, String id) {
- return delegate.restoreExtension(securityToken, id);
- }
-
- @Override
public WikittyExtension restoreExtension(String securityToken,
WikittyTransaction transaction, String id) {
return delegate.restoreExtension(securityToken, transaction, id);
@@ -155,61 +127,31 @@
@Override
public WikittyExtension restoreExtensionLastVersion(String securityToken,
- String name) {
- return delegate.restoreExtensionLastVersion(securityToken, name);
- }
-
- @Override
- public WikittyExtension restoreExtensionLastVersion(String securityToken,
WikittyTransaction transaction, String name) {
return delegate.restoreExtensionLastVersion(securityToken, transaction,
name);
}
@Override
- public Wikitty restore(String securityToken, String id) {
- return delegate.restore(securityToken, id);
- }
-
- @Override
- public List<Wikitty> restore(String securityToken, List<String> id) {
- return delegate.restore(securityToken, id);
- }
-
- @Override
- public List<Wikitty> restore(String securityToken, WikittyTransaction transaction, List<String> id) {
+ public List<Wikitty> restore(String securityToken,
+ WikittyTransaction transaction, List<String> id) {
return delegate.restore(securityToken, transaction, id);
}
@Override
- public void delete(String securityToken, String id) {
- delegate.delete(securityToken, id);
+ public WikittyServiceEvent delete(String securityToken, Collection<String> ids) {
+ return delegate.delete(securityToken, ids);
}
@Override
- public void delete(String securityToken, Collection<String> ids) {
- delegate.delete(securityToken, ids);
- }
-
- @Override
public PagedResult<String> findAllByCriteria(String securityToken,
- Criteria criteria) {
- return delegate.findAllByCriteria(securityToken, criteria);
- }
-
- @Override
- public PagedResult<String> findAllByCriteria(String securityToken,
WikittyTransaction transaction, Criteria criteria) {
return delegate.findAllByCriteria(securityToken, transaction, criteria);
}
@Override
- public Wikitty findByCriteria(String securityToken, Criteria criteria) {
- return delegate.findByCriteria(securityToken, criteria);
- }
-
- @Override
- public Wikitty findByCriteria(String securityToken, WikittyTransaction transaction, Criteria criteria) {
+ public Wikitty findByCriteria(String securityToken,
+ WikittyTransaction transaction, Criteria criteria) {
return delegate.findByCriteria(securityToken, transaction, criteria);
}
@@ -219,7 +161,7 @@
}
@Override
- public List<String> deleteTree(String securityToken, String wikittyId) {
+ public WikittyServiceEvent deleteTree(String securityToken, String wikittyId) {
return delegate.deleteTree(securityToken, wikittyId);
}
@@ -242,8 +184,8 @@
}
@Override
- public UpdateResponse syncEngin(String securityToken) {
- return delegate.syncEngin(securityToken);
+ public void syncEngin(String securityToken) {
+ delegate.syncEngin(securityToken);
}
@Override
Added: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEnhanced.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEnhanced.java (rev 0)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEnhanced.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -0,0 +1,111 @@
+package org.nuiton.wikitty;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Same as delegator but with some helpfull method for developer. This new
+ * methods are methods with less arguments or simple argument and not collection
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class WikittyServiceEnhanced extends WikittyServiceDelegator {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog(WikittyServiceEnhanced.class);
+
+ public WikittyServiceEnhanced(WikittyService service) {
+ super(service);
+ }
+
+ public WikittyServiceEvent store(String securityToken, Wikitty wikitty) {
+ return store(securityToken, null, Collections.singleton(wikitty), false);
+ }
+
+ public WikittyServiceEvent store(String securityToken,
+ Collection<Wikitty> wikitties) {
+ return store(securityToken, null, wikitties, false);
+ }
+
+ public WikittyServiceEvent store(String securityToken,
+ Collection<Wikitty> wikitties, boolean force) {
+ return store(securityToken, null, wikitties, force);
+ }
+
+ public WikittyServiceEvent storeExtension(String securityToken,
+ WikittyExtension ext) {
+ return storeExtension(securityToken, null, Collections.singleton(ext));
+ }
+
+ public WikittyServiceEvent storeExtension(String securityToken,
+ Collection<WikittyExtension> exts) {
+ return storeExtension(securityToken, null, exts);
+ }
+
+ public WikittyExtension restoreExtension(String securityToken, String id) {
+ return restoreExtension(securityToken, null, id);
+ }
+
+ public WikittyExtension restoreExtensionLastVersion(String securityToken,
+ String name) {
+ return restoreExtensionLastVersion(securityToken, null, name);
+ }
+
+ /**
+ *
+ * @param securityToken security token
+ * @param id object id to restore
+ * @return the corresponding object, or null if object doesn't exist, is
+ * deleted or you don't have authorisation (you can check authorisation
+ * before call restore with {@link #canRead(java.lang.String, java.lang.String)}
+ */
+ public Wikitty restore(String securityToken, String id) {
+ Wikitty result = restore(this, securityToken, id);
+ return result;
+ }
+
+ public List<Wikitty> restore(String securityToken, List<String> id) {
+ return restore(securityToken, null, id);
+ }
+
+ public WikittyServiceEvent delete(String securityToken, String id) {
+ return delete(securityToken, Collections.singleton(id));
+ }
+
+ public PagedResult<String> findAllByCriteria(String securityToken,
+ Criteria criteria) {
+ return findAllByCriteria(securityToken, null, criteria);
+ }
+
+ public Wikitty findByCriteria(String securityToken, Criteria criteria) {
+ return findByCriteria(securityToken, null, criteria);
+ }
+
+ /**
+ * Conveniant static method usefull in other WikittyService implementation
+ * where we don't wan't instanciate WikittyServiceEnhanced
+ *
+ * @param securityToken security token
+ * @param id object id to restore
+ * @return the corresponding object, or null if object doesn't exist, is
+ * deleted or you don't have authorisation (you can check authorisation
+ * before call restore with {@link #canRead(java.lang.String, java.lang.String)}
+ */
+ static public Wikitty restore(WikittyService ws, String securityToken, String id) {
+ Wikitty result = null;
+ List<Wikitty> resultList = ws.restore(securityToken, null,
+ Collections.singletonList(id));
+ if (resultList != null && resultList.size() > 0) {
+ result = resultList.get(0);
+ }
+ return result;
+ }
+
+}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEvent.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEvent.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceEvent.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -26,7 +26,13 @@
package org.nuiton.wikitty;
import com.thoughtworks.xstream.XStream;
+import java.util.Collection;
+import java.util.Date;
+import java.util.EnumSet;
import java.util.EventObject;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
@@ -36,9 +42,9 @@
* Contains :
* <ul>
* <li>Wikitty service as source
- * <li>ids : wikitty ids or extensions ids
- * <li>ids & version : only for put : version of added wikitties
- * <li>ids & extension : only for put : extension of added ids
+ * <li>wikitties : wikitty added if type contains PUT_WIKITTY
+ * <li>ids & remove date : if type contains REMOVE_WIKITTY
+ * <li>extensions : extension added if type contains PUT_EXTENSION
* </ul>
*
* @author chatellier
@@ -69,51 +75,39 @@
}
+ /** unique event id, each event must have eventId, and event is sequence
+ * without hole. (ex: 0,1,2,3,4,5,6,...) */
+ protected long eventId;
+
/** Remote event (received from server). */
protected boolean remote;
- /** event type */
- protected WikittyEventType type;
+ /** event type, one event can have multiple type
+ * (ex: PUT_WIKITTY + PUT_EXTENSION */
+ protected EnumSet<WikittyEventType> type;
/** heure de creation de l'event */
protected long time;
- /**
- * Id managed by event.
- *
- * Can be :
- * <ul>
- * <li>wikitty ids (uuid)
- * <li>extension ids (ex : toto[2.1])
- * </ul>
- */
- protected Set<String> ids;
-
- /**
- * Map between extensions set for each id.
- * Not used for extension event
- */
- protected Map<String, Set<String>> idExtensions;
-
- /**
- * Map between versions for each id.
- */
- protected Map<String, String> idVersions;
+ /** Use by PUT_WIKITTY, all wikitties added */
+ protected Map<String, Wikitty> wikitties;
- /**
- * Map between deletion date for each id, if event is REMOVE.
- */
- protected Map<String, String> idDeletionDate;
+ /** Use by REMOVE_WIKITTY. key: wikittyId, value: removed date */
+ protected Map<String, Date> removeDate;
+ /** Use by PUT_EXTENSION, all extensions added */
+ protected Map<String, WikittyExtension> extensions;
+
/**
* Constructor with source {@link WikittyService}.
*
* @param source wikitty service
+ * @param eventId unique event id
*/
- public WikittyServiceEvent(Object source, WikittyEventType type) {
+ public WikittyServiceEvent(Object source) {
super(source);
this.time = System.currentTimeMillis();
- this.type = type;
+ this.type = EnumSet.noneOf(WikittyEventType.class);
}
/**
@@ -133,12 +127,15 @@
this.source = source;
}
- public WikittyEventType getType() {
+ public EnumSet<WikittyEventType> getType() {
return type;
}
- public void setType(WikittyEventType type) {
- this.type = type;
+ /**
+ * @param type
+ */
+ public void addType(WikittyEventType type) {
+ this.type.add(type);
}
/**
@@ -159,66 +156,128 @@
this.remote = remote;
}
- /**
- * Get ids.
- *
- * @return ids or {@code null} if no ids is related to event
- */
- public Set<String> getIds() {
- return ids;
+ public long getEventId() {
+ return eventId;
}
/**
- * Set ids.
- *
- * @param ids ids to set
+ * This method must be call with right id, just before send message
+ * notification
+ * @param eventId
*/
- public void setIds(Set<String> ids) {
- this.ids = ids;
+ public void setEventId(long eventId) {
+ this.eventId = eventId;
}
- /**
- * Get id and extensions map.
- *
- * @return map with extension set for each id or {@code null} if no ids is related to event
- */
- public Map<String, Set<String>> getIdExtensions() {
- return idExtensions;
+ public Map<String, Wikitty> getWikitties() {
+ return wikitties;
}
- /**
- * Change id and extensions map.
- *
- * @param idExtensions id and extensions map
- */
- public void setIdExtensions(Map<String, Set<String>> idExtensions) {
- this.idExtensions = idExtensions;
+ public void addWikitty(Wikitty wikitty) {
+ if (wikitties == null) {
+ wikitties = new LinkedHashMap<String, Wikitty>();
+ addType(WikittyEventType.PUT_WIKITTY);
+ }
+ this.wikitties.put(wikitty.getId(), wikitty);
}
-
+
+ public Map<String, Date> getRemoveDate() {
+ return removeDate;
+ }
+
+ public void addRemoveDate(String wikittyId, Date date) {
+ if (removeDate == null) {
+ removeDate = new HashMap<String, Date>();
+ addType(WikittyEventType.REMOVE_WIKITTY);
+ }
+ removeDate.put(wikittyId, date);
+ }
+
+ public Map<String, WikittyExtension> getExtensions() {
+ return extensions;
+ }
+
+ public void addExtension(WikittyExtension extension) {
+ if (extensions == null) {
+ extensions = new LinkedHashMap<String, WikittyExtension>();
+ addType(WikittyEventType.PUT_EXTENSION);
+ }
+ extensions.put(extension.getId(), extension);
+ }
+
/**
- * Get id and version map.
- *
- * @return map with version for each id
+ * Merge this event with event passed in arguement. Merged datas are:
+ * <li> type
+ * <li> wikitties
+ * <li> extensions
+ * <li> removeDate
+ *
+ * @param e
*/
- public Map<String, String> getIdVersions() {
- return idVersions;
+ public void add(WikittyServiceEvent e) {
+ getType().addAll(e.getType());
+ if (e.getWikitties() != null) {
+ for (Map.Entry<String, Wikitty> i : e.getWikitties().entrySet()) {
+ addWikitty(i.getValue());
+ }
+ }
+ if (e.getExtensions() != null) {
+ for (Map.Entry<String, WikittyExtension> i : e.getExtensions().entrySet()) {
+ addExtension(i.getValue());
+ }
+ }
+ if (e.getRemoveDate() != null) {
+ for (Map.Entry<String, Date> i : e.getRemoveDate().entrySet()) {
+ addRemoveDate(i.getKey(), i.getValue());
+ }
+ }
}
/**
- * Set id and version map.
- *
- * @param idVersions id and versions
+ * Update data directly in object passed in argument.
+ * Actualy only version and deletion date are updated.
+ * <p>
+ * rem: during store action, no migration has done. Migration is only
+ * done during restore process. This implies that extension don't change
+ * after store. But another client, may can load wikitty with migration
+ * and store it, or add manualy some extension. In that case, stored wikitty
+ * has new/more extension that another client.
+ * <p>
+ * And internaly wikitty object is marked clean (not dirty)
+ * @param e
+ * @return wikitty passed in arguement or null, if event is CLEAR_WIKITTY
*/
- public void setIdVersions(Map<String, String> idVersions) {
- this.idVersions = idVersions;
+ public Wikitty update(Wikitty e) {
+ // update version
+ String id = e.getId();
+ if (type.contains(WikittyEventType.CLEAR_WIKITTY)) {
+ e = null;
+ } else {
+ if (type.contains(WikittyEventType.PUT_WIKITTY)) {
+ Wikitty newWikitty = getWikitties().get(id);
+ e.replace(newWikitty);
+ }
+ if (type.contains(WikittyEventType.REMOVE_WIKITTY)) {
+ Date date = getRemoveDate().get(id);
+ e.setDeleteDate(date);
+ }
+ e.clearDirty();
+ }
+ return e;
}
@Override
public String toString() {
- String toString = getClass().getName() + "[source=" + source +
- ", type=" + type +
- ", remote=" + remote + ", ids=" + ids + ", idExtensions=" + idExtensions +
- ", idVersions=" + idVersions + ", idDeletionDate=" + idVersions + "]";
+ String toString = getClass().getName()
+ + "[source=" + source
+ + ", eventId=" + eventId
+ + ", time=" + time
+ + ", type=" + type
+ + ", remote=" + remote
+ + ", wikitties=" + wikitties
+ + ", removeDate=" + removeDate
+ + ", extensions=" + extensions
+ + "]";
return toString;
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -26,14 +26,11 @@
package org.nuiton.wikitty;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -155,8 +152,38 @@
}
}
+// @Override
+// public UpdateResponse store(String securityToken, WikittyTransaction transaction,
+// Collection<Wikitty> wikitties, boolean force) {
+// if (!(wikitties instanceof Set)) {
+// // use all time Set to prevent duplicated wikitty in collection
+// wikitties = new LinkedHashSet<Wikitty>(wikitties);
+// }
+// checkConstraint(wikitties);
+//
+// // update/store extension if necessary
+// Set<WikittyExtension> allExtensions = new LinkedHashSet<WikittyExtension>();
+// for (Wikitty w : wikitties) {
+// // collect all extensions used by all wikitties
+// allExtensions.addAll(w.getExtensions());
+// }
+//
+// // try to commit command
+// UpdateResponse extUpdate = getExtensionStorage().store(transaction, allExtensions);
+// UpdateResponse wikUpdate = getWikittyStorage().store(transaction, wikitties, force);
+// UpdateResponse indexUpdate = getSearchEngin().store(transaction, wikitties);
+//
+// UpdateResponse result = new UpdateResponse();
+// // prepare update client response
+// result.add(extUpdate);
+// result.add(wikUpdate);
+// result.add(indexUpdate);
+//
+// return result;
+// }
@Override
- public UpdateResponse store(String securityToken, WikittyTransaction transaction,
+ public WikittyServiceEvent store(String securityToken,
+ WikittyTransaction transaction,
Collection<Wikitty> wikitties, boolean force) {
if (!(wikitties instanceof Set)) {
// use all time Set to prevent duplicated wikitty in collection
@@ -171,103 +198,44 @@
allExtensions.addAll(w.getExtensions());
}
- // try to commit command
- UpdateResponse extUpdate = getExtensionStorage().store(transaction, allExtensions);
- UpdateResponse wikUpdate = getWikittyStorage().store(transaction, wikitties, force);
- UpdateResponse indexUpdate = getSearchEngin().store(transaction, wikitties);
-
- UpdateResponse result = new UpdateResponse();
- // prepare update client response
- result.add(extUpdate);
- result.add(wikUpdate);
- result.add(indexUpdate);
-
- return result;
- }
-
- /**
- * Store and index wikitty object
- * @param wikitty
- */
- @Override
- public UpdateResponse store(String securityToken, Wikitty wikitty) {
- if (wikitty != null) {
- WikittyTransaction transaction = new WikittyTransaction();
- try {
+ boolean txCreated = false;
+ try {
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
transaction.begin();
-
- List<Wikitty> wikitties = Arrays.asList(wikitty);
- UpdateResponse result = store(
- securityToken, transaction, wikitties, false);
-
- transaction.commit();
- return result;
- } catch (WikittyException ex) {
- transaction.rollback();
- throw ex;
- } catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("Can't store wikitty", eee);
}
- } else {
- throw new WikittyException("You can't store null wikitty object");
- }
- }
- /**
- * Store and index wikitties object.
- *
- * @param wikitties
- */
- @Override
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties) {
- WikittyTransaction transaction = new WikittyTransaction();
- try {
- transaction.begin();
+ // try to commit command
+ WikittyServiceEvent extUpdate =
+ getExtensionStorage().store(transaction, allExtensions);
+ WikittyServiceEvent wikUpdate =
+ getWikittyStorage().store(transaction, wikitties, force);
+ getSearchEngin().store(transaction, wikitties);
- UpdateResponse result = store(
- securityToken, transaction, wikitties, false);
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ // prepare update client response
+ result.add(extUpdate);
+ result.add(wikUpdate);
- transaction.commit();
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
} catch (WikittyException ex) {
- transaction.rollback();
+ if (transaction != null) {
+ transaction.rollback();
+ }
throw ex;
} catch (Exception eee) {
- transaction.rollback();
+ if (transaction != null) {
+ transaction.rollback();
+ }
throw new WikittyException("Can't store wikitty", eee);
}
}
- /**
- * Store and index wikitties object.
- *
- * @param wikitties
- * @param force boolean force non version version increment on saved wikitty
- * or force version on wikitty creation (version 0.0)
- */
@Override
- public UpdateResponse store(String securityToken,
- Collection<Wikitty> wikitties, boolean force) {
- WikittyTransaction transaction = new WikittyTransaction();
- try {
- transaction.begin();
-
- UpdateResponse result = store(securityToken,
- transaction, wikitties, force);
-
- transaction.commit();
- return result;
- } catch (WikittyException ex) {
- transaction.rollback();
- throw ex;
- } catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("Can't store wikitty", eee);
- }
- }
-
- @Override
public List<String> getAllExtensionIds(String securityToken) {
WikittyTransaction transaction = new WikittyTransaction();
try {
@@ -303,87 +271,71 @@
}
@Override
- public UpdateResponse storeExtension(String securityToken,
+ public WikittyServiceEvent storeExtension(String securityToken,
WikittyTransaction transaction, Collection<WikittyExtension> exts) {
- UpdateResponse result = getExtensionStorage().store(transaction, exts);
- return result;
- }
-
- /**
- * Save several extension.
- *
- * @param exts
- */
- @Override
- public UpdateResponse storeExtension(String securityToken,
- Collection<WikittyExtension> exts) {
- WikittyTransaction transaction = new WikittyTransaction();
+ boolean txCreated = false;
try {
- transaction.begin();
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
+ transaction.begin();
+ }
- UpdateResponse result = storeExtension(
- securityToken, transaction, exts);
-
- transaction.commit();
+ WikittyServiceEvent result =
+ getExtensionStorage().store(transaction, exts);
+
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
+ } catch (WikittyException ex) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw ex;
} catch (Exception eee) {
- transaction.rollback();
+ if (transaction != null) {
+ transaction.rollback();
+ }
throw new WikittyException("Can't store extensions", eee);
}
}
@Override
- public UpdateResponse storeExtension(String securityToken, WikittyExtension ext) {
- WikittyTransaction transaction = new WikittyTransaction();
- try {
- transaction.begin();
-
- UpdateResponse result = storeExtension(
- securityToken, transaction, Arrays.asList(ext));
-
- transaction.commit();
- return result;
- } catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("Can't store extension", eee);
- }
- }
-
- @Override
public WikittyExtension restoreExtension(
String securityToken, WikittyTransaction transaction, String extensionId) {
- //split the id to ensure that version is normalized
- String name = WikittyExtension.computeName(extensionId);
- String version = WikittyExtension.computeVersion(extensionId);
-
- WikittyExtension result = getExtensionStorage().restore(transaction, name, version);
- return result;
- }
-
- /**
- * Load extension from id. Id is 'name[version]'.
- *
- * @param extensionId extension id to restore
- * @return extension
- */
- @Override
- public WikittyExtension restoreExtension(String securityToken, String extensionId) {
- WikittyTransaction transaction = new WikittyTransaction();
+ boolean txCreated = false;
try {
- transaction.begin();
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
+ transaction.begin();
+ }
- WikittyExtension result = restoreExtension(
- securityToken, transaction, extensionId);
+ //split the id to ensure that version is normalized
+ String name = WikittyExtension.computeName(extensionId);
+ String version = WikittyExtension.computeVersion(extensionId);
- transaction.commit();
+ WikittyExtension result = getExtensionStorage().restore(transaction, name, version);
+
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
+ } catch (WikittyException ex) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw ex;
} catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("can't restore extensions", eee);
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new WikittyException("Can't restore extensions", eee);
}
-
}
+ @Override
public WikittyExtension restoreExtensionLastVersion(String securityToken,
WikittyTransaction transaction, String name) {
String version = getExtensionStorage().getLastVersion(transaction, name);
@@ -391,25 +343,30 @@
return null;
}
- WikittyExtension result = getExtensionStorage().restore(transaction, name, version);
- return result;
- }
-
- @Override
- public WikittyExtension restoreExtensionLastVersion(
- String securityToken, String name) {
- WikittyTransaction transaction = new WikittyTransaction();
+ boolean txCreated = false;
try {
- transaction.begin();
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
+ transaction.begin();
+ }
- WikittyExtension result = restoreExtensionLastVersion(
- securityToken, transaction, name);
+ WikittyExtension result = getExtensionStorage().restore(transaction, name, version);
- transaction.commit();
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
+ } catch (WikittyException ex) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw ex;
} catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("Can't restore extension", eee);
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw new WikittyException("Can't store extensions", eee);
}
}
@@ -437,51 +394,57 @@
@Override
public List<Wikitty> restore(String securityToken,
WikittyTransaction transaction, List<String> ids) {
+
List<Wikitty> result = new ArrayList<Wikitty>();
- for(String id : ids) {
- Wikitty w = restore(securityToken, transaction, id);
- if (w != null) {
- result.add(w);
+ boolean txCreated = false;
+ try {
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
+ transaction.begin();
}
- }
- return result;
- }
- @Override
- public List<Wikitty> restore(String securityToken, List<String> ids) {
- WikittyTransaction transaction = new WikittyTransaction();
- try {
- transaction.begin();
-
- List<Wikitty> result = restore(securityToken, transaction, ids);
-
- transaction.commit();
+ for (String id : ids) {
+ Wikitty w = restore(securityToken, transaction, id);
+ // on l'ajoutde tout le temps, meme si w est nul lorsqu'il y a
+ // une demande et qu'elle echoue on ajout
+ // bien null, pour qu'il y ait une correspondance 1 pour 1
+ // avec la demande
+ result.add(w);
+ }
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
+ } catch (WikittyException ex) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw ex;
} catch (Exception eee) {
- if (log.isErrorEnabled()) {
- log.error("Can't restore wikitty collection", eee);
+ if (transaction != null) {
+ transaction.rollback();
}
- transaction.rollback();
throw new WikittyException("Can't restore wikitty", eee);
}
}
- @Override
- public Wikitty restore(String securityToken, String id) {
- WikittyTransaction transaction = new WikittyTransaction();
- try {
- transaction.begin();
+// @Override
+// public Wikitty restore(String securityToken, String id) {
+// WikittyTransaction transaction = new WikittyTransaction();
+// try {
+// transaction.begin();
+//
+// Wikitty result = restore(securityToken, transaction, id);
+//
+// transaction.commit();
+// return result;
+// } catch (Exception eee) {
+// transaction.rollback();
+// throw new WikittyException("Can't restore wikitty", eee);
+// }
+// }
- Wikitty result = restore(securityToken, transaction, id);
-
- transaction.commit();
- return result;
- } catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("Can't restore wikitty", eee);
- }
- }
-
protected Wikitty upgradeData(String securityToken,
WikittyTransaction transaction, Wikitty wikitty) {
Wikitty result = wikitty;
@@ -505,7 +468,8 @@
log.debug("lastExtensionVersion=" + lastExtensionVersion);
}
- WikittyExtensionMigration migration = WikittyExtensionMigration.migrationRegistry.get(extensionName);
+ WikittyExtensionMigration migration =
+ WikittyExtensionMigration.migrationRegistry.get(extensionName);
if (migration == null) {
migration = defaultExtensionMigration;
}
@@ -514,8 +478,10 @@
while(WikittyUtil.versionGreaterThan(lastExtensionVersion, currentExtensionVersion)) {
// Get extension after the current version
- String nextExtensionVersion = WikittyUtil.incrementMajorRevision(currentExtensionVersion);
- String nextExtensionId = WikittyExtension.computeId(extensionName, nextExtensionVersion);
+ String nextExtensionVersion =
+ WikittyUtil.incrementMajorRevision(currentExtensionVersion);
+ String nextExtensionId =
+ WikittyExtension.computeId(extensionName, nextExtensionVersion);
WikittyExtension nextExtension = restoreExtension(
securityToken, transaction, nextExtensionId);
@@ -539,7 +505,7 @@
return result;
}
- protected void delete(String securityToken, WikittyTransaction transaction,
+ protected WikittyServiceEvent delete(String securityToken, WikittyTransaction transaction,
Collection<String> ids) throws WikittyException {
// work only on valid id
Collection<Wikitty> storedWikitties = new LinkedHashSet<Wikitty>();
@@ -592,37 +558,30 @@
}
}
- getWikittyStorage().delete(transaction, idSet);
+ WikittyServiceEvent eventDelete =
+ getWikittyStorage().delete(transaction, idSet);
getSearchEngin().delete(transaction, idSet);
- store(securityToken, transaction, storedWikitties, false);
+ WikittyServiceEvent eventStore =
+ store(securityToken, transaction, storedWikitties, false);
+
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ result.add(eventDelete);
+ result.add(eventStore);
+
+ return result;
}
@Override
- public void delete(String securityToken, String id) {
+ public WikittyServiceEvent delete(String securityToken, Collection<String> ids){
WikittyTransaction transaction = new WikittyTransaction();
try {
transaction.begin();
-
- List<String> ids = Arrays.asList(id);
- delete(securityToken, transaction, ids);
-
- transaction.commit();
- } catch (Exception eee) {
- transaction.rollback();
- throw new WikittyException("Can't delete wikitty", eee);
- }
- }
-
- @Override
- public void delete(String securityToken, Collection<String> ids){
- WikittyTransaction transaction = new WikittyTransaction();
- try {
- transaction.begin();
- delete(securityToken, transaction, ids);
+ WikittyServiceEvent result = delete(securityToken, transaction, ids);
transaction.commit();
+ return result;
} catch (Exception eee) {
transaction.rollback();
throw new WikittyException("Can't delete wikitty", eee);
@@ -634,16 +593,21 @@
* This operation should be disabled in production environment.
*/
@Override
- public void clear(String securityToken) {
+ public WikittyServiceEvent clear(String securityToken) {
WikittyTransaction transaction = new WikittyTransaction();
try {
transaction.begin();
getSearchEngin().clear(transaction);
- getWikittyStorage().clear(transaction);
- getExtensionStorage().clear(transaction);
+ WikittyServiceEvent eventWik = getWikittyStorage().clear(transaction);
+ WikittyServiceEvent eventExt = getExtensionStorage().clear(transaction);
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ result.add(eventWik);
+ result.add(eventExt);
+
transaction.commit();
+ return result;
} catch (Exception eee) {
transaction.rollback();
throw new WikittyException("Can't clear all data", eee);
@@ -657,61 +621,70 @@
@Override
public PagedResult<String> findAllByCriteria(String securityToken,
WikittyTransaction transaction, Criteria criteria) {
- PagedResult<String> result =
- getSearchEngin().findAllByCriteria(transaction, criteria);
- return result;
- }
-
- @Override
- public PagedResult<String> findAllByCriteria(
- String securityToken, Criteria criteria) {
- WikittyTransaction transaction = new WikittyTransaction();
try {
- transaction.begin();
+ boolean txCreated = false;
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
+ transaction.begin();
+ }
- PagedResult<String> result = findAllByCriteria(
- securityToken, transaction, criteria);
-
- transaction.commit();
+ PagedResult<String> result =
+ getSearchEngin().findAllByCriteria(transaction, criteria);
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
+ } catch (WikittyException ex) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw ex;
} catch (Exception eee) {
- transaction.rollback();
+ if (transaction != null) {
+ transaction.rollback();
+ }
throw new WikittyException("Error during find", eee);
}
}
-
+
public Wikitty findByCriteria(String securityToken,
WikittyTransaction transaction, Criteria criteria) {
- criteria.setFirstIndex(0).setEndIndex(1);
- PagedResult<String> pages = findAllByCriteria(
- securityToken, transaction, criteria);
-
- Wikitty result = null;
- if (pages.size() > 0) {
- String id = pages.getFirst();
- result = restore(securityToken, transaction, id);
- }
-
- return result;
- }
-
- @Override
- public Wikitty findByCriteria(String securityToken, Criteria criteria) {
- WikittyTransaction transaction = new WikittyTransaction();
try {
- transaction.begin();
+ boolean txCreated = false;
+ if (transaction == null) {
+ transaction = new WikittyTransaction();
+ txCreated = true;
+ transaction.begin();
+ }
- Wikitty result = findByCriteria(
+ criteria.setFirstIndex(0).setEndIndex(1);
+ PagedResult<String> pages = findAllByCriteria(
securityToken, transaction, criteria);
-
- transaction.commit();
+
+ Wikitty result = null;
+ if (pages.size() > 0) {
+ String id = pages.getFirst();
+ result = restore(securityToken, transaction, id);
+ }
+
+ if (txCreated) {
+ transaction.commit();
+ }
return result;
+ } catch (WikittyException ex) {
+ if (transaction != null) {
+ transaction.rollback();
+ }
+ throw ex;
} catch (Exception eee) {
- transaction.rollback();
+ if (transaction != null) {
+ transaction.rollback();
+ }
throw new WikittyException("Error during find", eee);
}
}
-
+
protected WikittyTree restoreTree(String securityToken,
WikittyTransaction transaction, String wikittyId) {
Wikitty w = restore(securityToken, transaction, wikittyId);
@@ -759,21 +732,19 @@
}
@Override
- public List<String> deleteTree(String securityToken, String thesaurusId) {
- List<String> deletedIds = null;
+ public WikittyServiceEvent deleteTree(String securityToken, String thesaurusId) {
WikittyTransaction transaction = new WikittyTransaction();
try {
transaction.begin();
- deletedIds = deleteTree(securityToken, transaction, thesaurusId);
+ WikittyServiceEvent result = deleteTree(securityToken, transaction, thesaurusId);
transaction.commit();
+ return result;
} catch (Exception eee) {
transaction.rollback();
throw new WikittyException("Can't delete tree", eee);
}
-
- return deletedIds;
}
/**
@@ -784,10 +755,10 @@
* @param treeNodeId thesaurusId to delete
* @return all id of delete nodes
*/
- public List<String> deleteTree(String securityToken, WikittyTransaction transaction, String treeNodeId) {
+ protected WikittyServiceEvent deleteTree(String securityToken, WikittyTransaction transaction, String treeNodeId) {
List<String> allTreeNodeId = getRecursiveTreeNodeId(securityToken, transaction, treeNodeId);
- delete(securityToken, transaction, allTreeNodeId);
- return allTreeNodeId;
+ WikittyServiceEvent result = delete(securityToken, transaction, allTreeNodeId);
+ return result;
}
/**
@@ -896,12 +867,11 @@
}
@Override
- public UpdateResponse syncEngin(final String securityToken) {
+ public void syncEngin(final String securityToken) {
final WikittyTransaction transaction = new WikittyTransaction();
try {
final int numberForCommit = 1000;
final WikittySearchEngin searchEngin = getSearchEngin();
- final UpdateResponse result = new UpdateResponse();
final List<Wikitty> wikitties = new ArrayList<Wikitty>(numberForCommit);
transaction.begin();
@@ -922,8 +892,7 @@
if(count == numberForCommit) {
// Reindex
- UpdateResponse response = searchEngin.store(transaction, wikitties);
- result.add(response);
+ searchEngin.store(transaction, wikitties);
transaction.commit();
// Reinit
count = 0;
@@ -935,11 +904,8 @@
});
// Last wikitties
- UpdateResponse response = searchEngin.store(transaction, wikitties);
- result.add(response);
-
+ searchEngin.store(transaction, wikitties);
transaction.commit();
- return result;
} catch (Exception eee) {
transaction.rollback();
throw new WikittyException("Can't sync searchable index with data", eee);
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceInMemory.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceInMemory.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceInMemory.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -71,9 +71,17 @@
protected Map<String, Wikitty> wikitties = new LinkedHashMap<String, Wikitty>();
@Override
- public UpdateResponse store(WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force) {
- UpdateResponse result = new UpdateResponse();
+ public WikittyServiceEvent store(WikittyTransaction transaction,
+ Collection<Wikitty> wikitties, boolean force) {
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
for (Wikitty wikitty : wikitties) {
+ // begin with clone of wikitty to prevent modification of
+ // wikitty passed as argument
+ try {
+ wikitty = wikitty.clone();
+ } catch (CloneNotSupportedException eee) {
+ throw new WikittyException("Can't clone ?", eee);
+ }
String actualVersion = null;
Wikitty inMemoryWikitty = this.wikitties.get(wikitty.getId());
@@ -123,24 +131,22 @@
try {
this.wikitties.put(wikitty.getId(), wikitty.clone());
- } catch (CloneNotSupportedException ex) {
- if (log.isErrorEnabled()) {
- log.error("Can't clone ?", ex);
- }
+ } catch (CloneNotSupportedException eee) {
+ throw new WikittyException("Can't clone ?", eee);
}
- result.addVersionUpdate(wikitty.getId(), wikitty.getVersion());
+ result.addWikitty(wikitty);
}
return result;
}
@Override
- public UpdateResponse delete(WikittyTransaction transaction, Collection<String> idList) throws WikittyException {
- UpdateResponse result = new UpdateResponse();
+ public WikittyServiceEvent delete(WikittyTransaction transaction, Collection<String> idList) throws WikittyException {
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
Date now = new Date();
for (String id : idList) {
Wikitty w = restore(transaction, id);
w.setDeleteDate(now);
- result.addDeletionDateUpdate(id, now);
+ result.addRemoveDate(id, now);
}
return result;
}
@@ -184,8 +190,11 @@
}
@Override
- public void clear(WikittyTransaction transaction) {
+ public WikittyServiceEvent clear(WikittyTransaction transaction) {
wikitties = new LinkedHashMap<String, Wikitty>();
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ result.addType(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY);
+ return result;
}
}
@@ -197,13 +206,16 @@
}
@Override
- public UpdateResponse store(WikittyTransaction transaction,
+ public WikittyServiceEvent store(WikittyTransaction transaction,
Collection<WikittyExtension> exts) throws WikittyException {
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
for (WikittyExtension ext : exts) {
- extensions.put(ext.getId(), ext);
+ // on ajoute que s'il n'y est pas deja
+ if (!extensions.containsKey(ext.getId())) {
+ extensions.put(ext.getId(), ext);
+ result.addExtension(ext);
+ }
}
- // nothing to do in UpdateResponse
- UpdateResponse result = new UpdateResponse();
return result;
}
@@ -262,8 +274,11 @@
}
@Override
- public void clear(WikittyTransaction transaction) {
+ public WikittyServiceEvent clear(WikittyTransaction transaction) {
extensions = new HashMap<String, WikittyExtension>();
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ result.addType(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION);
+ return result;
}
}
@@ -281,17 +296,13 @@
}
@Override
- public UpdateResponse store(WikittyTransaction transaction,
+ public void store(WikittyTransaction transaction,
Collection<Wikitty> wikitties) {
- // do nothing
- return new UpdateResponse();
}
@Override
- public UpdateResponse delete(WikittyTransaction transaction,
+ public void delete(WikittyTransaction transaction,
Collection<String> idList) throws WikittyException {
- // do nothing
- return new UpdateResponse();
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -190,60 +190,21 @@
}
@Override
- public void clear(String securityToken) {
- // FIXME poussin 20101015 pourquoi n'y a t il pas d'event pour un clear total ?
- // il faut prévenir les clients de synchro de ce vider totalement aussi
- ws.clear(securityToken);
+ public WikittyServiceEvent clear(String securityToken) {
+ WikittyServiceEvent result = ws.clear(securityToken);
+ fireEvent(result);
+ return result;
}
@Override
- public UpdateResponse store(String securityToken, Wikitty wikitty) {
- UpdateResponse updateResponse = ws.store(securityToken, wikitty);
- // update wikitty
- updateResponse.update(wikitty);
- // notify listeners
- firePutWikitty(wikitty);
- return updateResponse;
- }
-
- @Override
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties) {
- UpdateResponse updateResponse = ws.store(securityToken, wikitties);
- // update wikitty
- for (Wikitty wikitty : wikitties) {
- updateResponse.update(wikitty);
- }
- // notify listeners
- firePutWikitty(wikitties.toArray(new Wikitty[wikitties.size()]));
- return updateResponse;
- }
-
- @Override
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties,
- boolean force) {
- UpdateResponse updateResponse = ws.store(
- securityToken, wikitties, force);
- // update wikitty
- for (Wikitty wikitty : wikitties) {
- updateResponse.update(wikitty);
- }
- // notify listeners
- firePutWikitty(wikitties.toArray(new Wikitty[wikitties.size()]));
- return updateResponse;
- }
-
- @Override
- public UpdateResponse store(String securityToken, WikittyTransaction transaction,
+ public WikittyServiceEvent store(String securityToken, WikittyTransaction transaction,
Collection<Wikitty> wikitties, boolean force) {
- UpdateResponse updateResponse = ws.store(securityToken, transaction,
+ WikittyServiceEvent result = ws.store(securityToken, transaction,
wikitties, force);
- // update wikitty
- for (Wikitty wikitty : wikitties) {
- updateResponse.update(wikitty);
- }
+
// notify listeners
- firePutWikitty(wikitties.toArray(new Wikitty[wikitties.size()]));
- return updateResponse;
+ fireEvent(result);
+ return result;
}
@Override
@@ -260,38 +221,15 @@
}
@Override
- public UpdateResponse storeExtension(String securityToken, WikittyExtension ext) {
- UpdateResponse updateResponse = ws.storeExtension(securityToken, ext);
- // notify listeners
- firePutExtension(ext);
- return updateResponse;
- }
-
- @Override
- public UpdateResponse storeExtension(
- String securityToken, Collection<WikittyExtension> exts) {
- UpdateResponse updateResponse = ws.storeExtension(securityToken, exts);
- // notify listeners
- firePutExtension(exts.toArray(new WikittyExtension[exts.size()]));
- return updateResponse;
- }
-
- @Override
- public UpdateResponse storeExtension(String securityToken,
+ public WikittyServiceEvent storeExtension(String securityToken,
WikittyTransaction transaction, Collection<WikittyExtension> exts) {
- UpdateResponse updateResponse = ws.storeExtension(
+ WikittyServiceEvent result = ws.storeExtension(
securityToken, transaction, exts);
- // no notification called by #storeExtension(Collection<WikittyExtension>)
- return updateResponse;
+ fireEvent(result);
+ return result;
}
@Override
- public WikittyExtension restoreExtension(String securityToken, String id) {
- // no notification
- return ws.restoreExtension(securityToken, id);
- }
-
- @Override
public WikittyExtension restoreExtension(String securityToken,
WikittyTransaction transaction, String id) {
// no notification
@@ -300,57 +238,27 @@
@Override
public WikittyExtension restoreExtensionLastVersion(
- String securityToken, String name) {
- // no notification
- return ws.restoreExtensionLastVersion(securityToken, name);
- }
-
- @Override
- public WikittyExtension restoreExtensionLastVersion(
String securityToken, WikittyTransaction transaction, String name) {
// no notification
return ws.restoreExtensionLastVersion(securityToken, transaction, name);
}
@Override
- public Wikitty restore(String securityToken, String id) {
+ public List<Wikitty> restore(String securityToken,
+ WikittyTransaction transaction, List<String> ids) {
// no notification
- return ws.restore(securityToken, id);
- }
-
- @Override
- public List<Wikitty> restore(String securityToken, List<String> ids) {
- // no notification
- return ws.restore(securityToken, ids);
- }
-
- @Override
- public List<Wikitty> restore(String securityToken, WikittyTransaction transaction, List<String> ids) {
- // no notification
return ws.restore(securityToken, transaction, ids);
}
@Override
- public void delete(String securityToken, String id) {
- ws.delete(securityToken, id);
+ public WikittyServiceEvent delete(String securityToken, Collection<String> ids) {
+ WikittyServiceEvent result = ws.delete(securityToken, ids);
// notify listeners
- fireRemoveWikitty(id);
+ fireEvent(result);
+ return result;
}
@Override
- public void delete(String securityToken, Collection<String> ids) {
- ws.delete(securityToken, ids);
- // notify listeners
- fireRemoveWikitty(ids.toArray(new String[ids.size()]));
- }
-
- @Override
- public PagedResult<String> findAllByCriteria(String securityToken, Criteria criteria) {
- // no notification
- return ws.findAllByCriteria(securityToken, criteria);
- }
-
- @Override
public PagedResult<String> findAllByCriteria(String securityToken,
WikittyTransaction transaction, Criteria criteria) {
// no notification
@@ -358,14 +266,9 @@
}
@Override
- public Wikitty findByCriteria(String securityToken, Criteria criteria) {
+ public Wikitty findByCriteria(String securityToken,
+ WikittyTransaction transaction, Criteria criteria) {
// no notification
- return ws.findByCriteria(securityToken, criteria);
- }
-
- @Override
- public Wikitty findByCriteria(String securityToken, WikittyTransaction transaction, Criteria criteria) {
- // no notification
return ws.findByCriteria(securityToken, transaction, criteria);
}
@@ -376,10 +279,9 @@
}
@Override
- public List<String> deleteTree(String securityToken, String wikittyId) {
- // no notification
- List<String> result = ws.deleteTree(securityToken, wikittyId);
- fireRemoveWikitty(result.toArray(new String[result.size()]));
+ public WikittyServiceEvent deleteTree(String securityToken, String wikittyId) {
+ WikittyServiceEvent result = ws.deleteTree(securityToken, wikittyId);
+ fireEvent(result);
return result;
}
@@ -405,128 +307,12 @@
}
@Override
- public UpdateResponse syncEngin(String securityToken) {
+ public void syncEngin(String securityToken) {
// no notification
- return ws.syncEngin(securityToken);
+ ws.syncEngin(securityToken);
}
/**
- * Build event to fire and call {@link #firePutWikitty(WikittyServiceEvent)}.
- *
- * @param ws data
- */
- protected void firePutWikitty(Wikitty... ws) {
- WikittyServiceEvent event = new WikittyServiceEvent(ws,
- WikittyServiceEvent.WikittyEventType.PUT_WIKITTY);
- Set<String> ids = new HashSet<String>();
- Map<String, Set<String>> idsExtension = new HashMap<String, Set<String>>();
- Map<String, String> idsVersion = new HashMap<String, String>();
-
- for (Wikitty w : ws) {
- // ids
- ids.add(w.getId());
- // extension
- Set<String> extension = new HashSet<String>();
- extension.addAll(w.getExtensionNames());
- idsExtension.put(w.getId(), extension);
- // version
- idsVersion.put(w.getId(), w.getVersion());
- }
-
- event.setIds(ids);
- event.setIdExtensions(idsExtension);
- event.setIdVersions(idsVersion);
- fireEvent(event);
- }
-
- /**
- * Build event to fire and call {@link #fireRemoveWikitty(WikittyServiceEvent)}.
- *
- * @param wikittyIds wikitty ids
- */
- protected void fireRemoveWikitty(String... wikittyIds) {
- WikittyServiceEvent event = new WikittyServiceEvent(ws,
- WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY);
- Set<String> ids = new HashSet<String>();
-
- for (String wikittyId : wikittyIds) {
- // ids
- ids.add(wikittyId);
- }
-
- event.setIds(ids);
- fireEvent(event);
- }
-
- /**
- * Build event to fire and call {@link #fireClearWikitty(WikittyServiceEvent)}.
- */
- protected void fireClearWikitty() {
- WikittyServiceEvent event = new WikittyServiceEvent(ws,
- WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY);
- fireEvent(event);
- }
-
- /**
- * Build event to fire and call {@link #firePutExtension(WikittyServiceEvent)}.
- *
- * @param ws data
- */
- protected void firePutExtension(WikittyExtension... exts) {
- WikittyServiceEvent event = new WikittyServiceEvent(ws,
- WikittyServiceEvent.WikittyEventType.PUT_EXTENSION);
- Set<String> ids = new HashSet<String>();
- Map<String, Set<String>> idsExtension = new HashMap<String, Set<String>>();
-
- for (WikittyExtension ext : exts) {
- // ids
- ids.add(ext.getId());
- // extension
- Set<String> extension = new HashSet<String>();
- extension.add(ext.getName());
-
- // also add requires fields
- extension.add(ext.requires);
-
- idsExtension.put(ext.getId(), extension);
- }
-
- event.setIds(ids);
- event.setIdExtensions(idsExtension);
- fireEvent(event);
- }
-
- /**
- * Build event to fire and call {@link #fireRemoveExtension(WikittyServiceEvent)}.
- *
- * @param ws data
- */
- protected void fireRemoveExtension(WikittyExtension... exts) {
- WikittyServiceEvent event = new WikittyServiceEvent(ws,
- WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION);
- Set<String> ids = new HashSet<String>();
-
- for (WikittyExtension ext : exts) {
- // ids
- ids.add(ext.getId());
- }
-
- event.setIds(ids);
- fireEvent(event);
- }
-
- /**
- * Build event to fire and call {@link #fireClearExtension(WikittyServiceEvent)}.
- *
- * @param ws data
- */
- protected void fireClearExtension() {
- WikittyServiceEvent event = new WikittyServiceEvent(ws,
- WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION);
- fireEvent(event);
- }
-
- /**
* Fire event to all registred listener.
*
* Take care about {@link WikittyServiceEvent#isRemote()} for fire.
@@ -683,8 +469,10 @@
while (null != (event = eventToSend.poll(5, TimeUnit.SECONDS))) {
try {
synchronized (allWikittyServiceListeners) {
- allWikittyServiceListeners.fire(
- event.getType().listenerMethodName, event);
+ for(WikittyServiceEvent.WikittyEventType type : event.getType()) {
+ allWikittyServiceListeners.fire(
+ type.listenerMethodName, event);
+ }
}
} catch (Exception eee) {
log.error("Can't notify listener", eee);
@@ -692,13 +480,17 @@
try {
if (event.isRemote()) {
synchronized (remoteWikittyServiceListeners) {
- remoteWikittyServiceListeners.fire(
- event.getType().listenerMethodName, event);
+ for (WikittyServiceEvent.WikittyEventType type : event.getType()) {
+ remoteWikittyServiceListeners.fire(
+ type.listenerMethodName, event);
+ }
}
} else {
synchronized (localWikittyServiceListeners) {
- localWikittyServiceListeners.fire(
- event.getType().listenerMethodName, event);
+ for (WikittyServiceEvent.WikittyEventType type : event.getType()) {
+ localWikittyServiceListeners.fire(
+ type.listenerMethodName, event);
+ }
}
}
} catch (Exception eee) {
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -53,13 +53,13 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(WikittyServiceSecurity.class);
- protected WikittyService ws;
+ protected WikittyServiceEnhanced ws;
/** cache de l'id du groupe AppAdmin */
transient protected String appAdminGroupId = null;
public WikittyServiceSecurity(WikittyService ws) {
- this.ws = ws;
+ this.ws = new WikittyServiceEnhanced(ws);
}
@Override
@@ -74,7 +74,7 @@
@Override
public String login(String login, String password) {
- Wikitty user = ws.findByCriteria(null, Search.query().eq(
+ Wikitty user = ws.findByCriteria(null, null, Search.query().eq(
WikittyUser.FQ_FIELD_WIKITTYUSER_LOGIN, login).criteria());
if (user == null) {
throw new IllegalArgumentException(String.format("no such account '%s'", login));
@@ -86,7 +86,7 @@
// force add extension to wikitty
WikittyTokenHelper.addExtension(wikittyToken);
WikittyTokenHelper.setUser(wikittyToken, user.getId());
- ws.store(null, wikittyToken);
+ ws.store(null, null, Arrays.asList(wikittyToken), false);
log.debug(String.format("token '%s' is for login '%s'",
tokenId, login));
return tokenId;
@@ -102,16 +102,17 @@
throw new IllegalArgumentException("security token is null");
} else {
getUserId(securityToken); // will throw exception if token is not valid
- ws.delete(securityToken, securityToken);
+ ws.delete(securityToken, Arrays.asList(securityToken));
}
}
@Override
- public void clear(String securityToken) {
+ public WikittyServiceEvent clear(String securityToken) {
String userId = getUserId(securityToken);
if (isAppAdmin(securityToken, userId)) {
// seul les AppAdmin on le droit a cette method
- ws.clear(securityToken);
+ WikittyServiceEvent result = ws.clear(securityToken);
+ return result;
} else {
throw new SecurityException(_("user %s can't clear data", userId));
}
@@ -140,34 +141,13 @@
}
@Override
- public UpdateResponse store(String securityToken, Wikitty wikitty) {
- Collection<Wikitty> wikitties = Arrays.asList(wikitty);
- wikitties = checkStore(securityToken, wikitties);
- UpdateResponse result = ws.store(securityToken, wikitties);
- return result;
- }
-
- @Override
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties) {
+ public WikittyServiceEvent store(String securityToken,
+ WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force) {
Collection<Wikitty> wikittiesToStore = checkStore(securityToken, wikitties);
- UpdateResponse result = ws.store(securityToken, wikittiesToStore);
+ WikittyServiceEvent result = ws.store(securityToken, transaction, wikittiesToStore, force);
return result;
}
-
- @Override
- public UpdateResponse store(String securityToken, Collection<Wikitty> wikitties, boolean force) {
- Collection<Wikitty> wikittiesToStore = checkStore(securityToken, wikitties);
- UpdateResponse result = ws.store(securityToken, wikittiesToStore, force);
- return result;
- }
- @Override
- public UpdateResponse store(String securityToken, WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force) {
- Collection<Wikitty> wikittiesToStore = checkStore(securityToken, wikitties);
- UpdateResponse result = ws.store(securityToken, transaction, wikittiesToStore, force);
- return result;
- }
-
protected Collection<Wikitty> checkStore(String securityToken, Collection<Wikitty> wikitties) {
String userId = getUserId(securityToken);
List<Wikitty> wikittiesToStore = new ArrayList<Wikitty>();
@@ -239,31 +219,13 @@
}
@Override
- public Wikitty restore(String securityToken, String id) {
- String userId = getUserId(securityToken);
- Wikitty wikitty = ws.restore(securityToken, id);
- if (wikitty != null) {
- refuseUnauthorizedRead(securityToken, userId, wikitty);
- }
- return wikitty;
- }
-
- @Override
- public List<Wikitty> restore(String securityToken, List<String> ids) {
- String userId = getUserId(securityToken);
- List<Wikitty> wikitties = ws.restore(securityToken, ids);
- for (Wikitty wikitty : wikitties) {
- refuseUnauthorizedRead(securityToken, userId, wikitty);
- }
- return wikitties;
- }
-
- @Override
public List<Wikitty> restore(String securityToken, WikittyTransaction transaction, List<String> ids) {
String userId = getUserId(securityToken);
List<Wikitty> wikitties = ws.restore(securityToken, transaction, ids);
for (Wikitty wikitty : wikitties) {
- refuseUnauthorizedRead(securityToken, userId, wikitty);
+ if (wikitty != null) {
+ refuseUnauthorizedRead(securityToken, userId, wikitty);
+ }
}
return wikitties;
}
@@ -357,16 +319,10 @@
}
@Override
- public void delete(String securityToken, String id) {
- Collection<String> ids = Arrays.asList(id);
- delete(securityToken, ids);
- }
-
- @Override
- public void delete(String securityToken, Collection<String> ids) {
+ public WikittyServiceEvent delete(String securityToken, Collection<String> ids) {
String userId = getUserId(securityToken);
List<String> idsAsList = new ArrayList<String>(ids);
- List<Wikitty> wikitties = ws.restore(securityToken, idsAsList);
+ List<Wikitty> wikitties = ws.restore(securityToken, null, idsAsList);
for (Wikitty wikitty : wikitties) {
for (String extensionName : wikitty.getExtensionNames()) {
if ( ! canWrite(securityToken, userId, extensionName, wikitty)) {
@@ -376,25 +332,51 @@
}
}
}
- ws.delete(securityToken, ids);
+ WikittyServiceEvent result = ws.delete(securityToken, ids);
+ return result;
}
@Override
- @Deprecated
public boolean canWrite(String securityToken, Wikitty wikitty) {
- throw new UnsupportedOperationException();
+ boolean result = true;
+ String userId = getUserId(securityToken);
+ for (String extName : wikitty.getExtensionNames()) {
+ result = result && isWriter(securityToken, userId, wikitty, extName);
+ if (!result) {
+ break;
+ }
+ }
+ return result;
}
@Override
- @Deprecated
public boolean canDelete(String securityToken, String wikittyId) {
- throw new UnsupportedOperationException();
+ boolean result = true;
+ Wikitty wikitty = WikittyServiceEnhanced.restore(ws, securityToken, wikittyId);
+ if (wikitty != null) {
+ String userId = getUserId(securityToken);
+ for (String extName : wikitty.getExtensionNames()) {
+ result = result && isWriter(securityToken, userId, wikitty, extName);
+ if (!result) {
+ break;
+ }
+ }
+ }
+ return result;
}
@Override
- @Deprecated
public boolean canRead(String securityToken, String wikittyId) {
- throw new UnsupportedOperationException();
+ boolean result = true;
+ String userId = getUserId(securityToken);
+ Wikitty wikitty = WikittyServiceEnhanced.restore(ws, securityToken, wikittyId);
+ for (String extName : wikitty.getExtensionNames()) {
+ result = result && isReader(securityToken, userId, wikitty, extName);
+ if (!result) {
+ break;
+ }
+ }
+ return result;
}
@Override
@@ -408,17 +390,8 @@
String securityToken, String extensionName) {
// All people can read extension
return ws.getAllExtensionsRequires(securityToken, extensionName);
- }
-
- @Override
- public UpdateResponse storeExtension(String securityToken, WikittyExtension ext) {
- Collection<WikittyExtension> exts = Arrays.asList(ext);
- checkStoreExtension(securityToken, exts);
- return storeExtension(securityToken, exts);
- }
-
+ }
-
/* *** storing and restoring extensions ***/
protected void checkStoreExtension(String securityToken,
@@ -439,26 +412,13 @@
}
@Override
- public UpdateResponse storeExtension(String securityToken,
- Collection<WikittyExtension> exts) {
- checkStoreExtension(securityToken, exts);
- return ws.storeExtension(securityToken, exts);
- }
-
- @Override
- public UpdateResponse storeExtension(String securityToken,
+ public WikittyServiceEvent storeExtension(String securityToken,
WikittyTransaction transaction, Collection<WikittyExtension> exts) {
checkStoreExtension(securityToken, exts);
return ws.storeExtension(securityToken, transaction, exts);
}
@Override
- public WikittyExtension restoreExtension(String securityToken, String id) {
- // All people can read extension
- return ws.restoreExtension(securityToken, id);
- }
-
- @Override
public WikittyExtension restoreExtension(String securityToken,
WikittyTransaction transaction, String id) {
// All people can read extension
@@ -466,13 +426,6 @@
}
@Override
- public WikittyExtension restoreExtensionLastVersion(String securityToken,
- String name) {
- // All people can read extension
- return ws.restoreExtensionLastVersion(securityToken, name);
- }
-
- @Override
public WikittyExtension restoreExtensionLastVersion(
String securityToken, WikittyTransaction transaction, String name) {
// All people can read extension
@@ -480,13 +433,6 @@
}
@Override
- public PagedResult<String> findAllByCriteria(String securityToken, Criteria criteria) {
- // All people can read PagedResult that contains only id
- PagedResult<String> result = ws.findAllByCriteria(securityToken, criteria);
- return result;
- }
-
- @Override
public PagedResult<String> findAllByCriteria(String securityToken,
WikittyTransaction transaction, Criteria criteria) {
// All people can read PagedResult that contains only id
@@ -496,14 +442,6 @@
}
@Override
- public Wikitty findByCriteria(String securityToken, Criteria criteria) {
- String userId = getUserId(securityToken);
- Wikitty wikitty = ws.findByCriteria(securityToken, criteria);
- refuseUnauthorizedRead(securityToken, userId, wikitty);
- return wikitty;
- }
-
- @Override
public WikittyTree restoreTree(String securityToken, String wikittyId) {
String userId = getUserId(securityToken);
WikittyTree restoredTree = ws.restoreTree(securityToken, wikittyId);
@@ -544,7 +482,7 @@
}
@Override
- public List<String> deleteTree(String securityToken, String treeNodeId) {
+ public WikittyServiceEvent deleteTree(String securityToken, String treeNodeId) {
WikittyTreeNode treeNode = ws.restoreNode(securityToken, treeNodeId, null).getKey();
Collection<Wikitty> wikitties = Arrays.asList(treeNode.getWikitty());
checkStore(securityToken, wikitties);
@@ -569,11 +507,11 @@
}
@Override
- public UpdateResponse syncEngin(String securityToken) {
+ public void syncEngin(String securityToken) {
String userId = getUserId(securityToken);
if (isAppAdmin(securityToken, userId)) {
// seul les AppAdmin on le droit a cette method
- return ws.syncEngin(securityToken);
+ ws.syncEngin(securityToken);
} else {
throw new SecurityException(_("user %s can't sync search engine",
getUserId(securityToken)));
@@ -743,7 +681,7 @@
Wikitty group;
if (appAdminGroupId == null) {
// 1er fois, on le recherche
- group = ws.findByCriteria(securityToken, Search.query().eq(
+ group = ws.findByCriteria(securityToken, null, Search.query().eq(
WikittyGroup.FQ_FIELD_WIKITTYGROUP_NAME,
WikittySecurityHelper.WIKITTY_APPADMIN_GROUP_NAME).criteria());
// group peut-etre null s'il n'existe pas
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyStorage.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyStorage.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyStorage.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -48,7 +48,7 @@
*
* @return information usefull for client side update data
*/
- public UpdateResponse store(WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force);
+ public WikittyServiceEvent store(WikittyTransaction transaction, Collection<Wikitty> wikitties, boolean force);
/**
* Return true if id exists in storage.
@@ -89,7 +89,7 @@
* @return delete response
* @throws WikittyException If id is not valid or don't exist.
*/
- public UpdateResponse delete(WikittyTransaction transaction, Collection<String> idList) throws WikittyException;
+ public WikittyServiceEvent delete(WikittyTransaction transaction, Collection<String> idList) throws WikittyException;
/**
* Scan all wikitties with specific scanner, even if the wikitty is deleted.
@@ -97,7 +97,7 @@
* @param transaction transaction
* @param scanner scanner
*/
- void scanWikitties(WikittyTransaction transaction, Scanner scanner);
+ public void scanWikitties(WikittyTransaction transaction, Scanner scanner);
/**
* Call each time wikitty is scan.
@@ -111,6 +111,6 @@
*
* @param transaction transaction
*/
- public void clear(WikittyTransaction transaction);
+ public WikittyServiceEvent clear(WikittyTransaction transaction);
}
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyUtil.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -743,7 +743,8 @@
String oldVersion = oldExt.getVersion();
if (WikittyUtil.versionGreaterThan(newVersion, oldVersion)) {
- wikittyService.storeExtension(securityToken, Arrays.asList(ext));
+ wikittyService.storeExtension(
+ securityToken, null, Arrays.asList(ext));
upgradeData = true;
}
}
@@ -751,7 +752,8 @@
if (upgradeData) {
String wikittyId = wikitty.getId();
- result = wikittyService.restore(securityToken, wikittyId);
+ result = WikittyServiceEnhanced.restore(
+ wikittyService, securityToken, wikittyId);
}
return result;
Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportCSV.java
===================================================================
--- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportCSV.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportCSV.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -177,7 +177,7 @@
// restore works (database) but solr criteria won't
List<Wikitty> wikitties = ws.restore(securityToken, transaction, Collections.singletonList(multiplesValue));
- if ( wikitties != null && wikitties.size() == 1) {
+ if ( wikitties != null && wikitties.size() == 1 && wikitties.get(0) != null) {
currentWikitty.addToField(extName, fieldName, multiplesValue);
}
}
@@ -191,7 +191,7 @@
// restore works (database) but solr criteria won't
List<Wikitty> wikitties = ws.restore(securityToken, transaction, Collections.singletonList(value));
- if ( wikitties != null && wikitties.size() == 1) {
+ if ( wikitties != null && wikitties.size() == 1 && wikitties.get(0) != null) {
currentWikitty.setField(extName, fieldName, value);
}
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/AbstractTestConformance.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -26,6 +26,7 @@
import java.text.ParseException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map.Entry;
@@ -153,7 +154,7 @@
Wikitty w = createWikitty( wValue, EXTNAME, EXT_TEST );
result.add( w );
}
- ws.store(null, result);
+ ws.store(null, null, result, false);
return result;
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/ImportExportTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -163,7 +163,7 @@
"7ca86742-5957-4659-b12f-4915cbef9193",
"77d7640c-573d-421c-a7e9-9b70bd025983"
};
- List<Wikitty> wikitties = ws.restore(null, Arrays.asList(ids));
+ List<Wikitty> wikitties = ws.restore(null, null, Arrays.asList(ids));
assertEquals(3, wikitties.size());
}
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/PerformanceBenchMark.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -26,6 +26,7 @@
package org.nuiton.wikitty.conform;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Random;
@@ -77,7 +78,7 @@
FieldType fieldType = new FieldType(FieldType.TYPE.STRING, 1, 1);
extension.addField("field" + i, fieldType);
}
- wikittyService.storeExtension(null, extension);
+ wikittyService.storeExtension(null, null, Arrays.asList(extension));
Collection<Wikitty> wikitties = new ArrayList<Wikitty>(WIKITTY_SIZE);
for (int i = 0; i < WIKITTY_SIZE; i++) {
@@ -89,7 +90,7 @@
wikitties.add(wikitty);
}
long start = System.currentTimeMillis();
- wikittyService.store(null, wikitties);
+ wikittyService.store(null, null, wikitties, false);
long end = System.currentTimeMillis();
log.info("[Performance" + fieldSize + "] Write times : " + ((end - start) / 1000) + "s");
@@ -97,7 +98,7 @@
start = System.currentTimeMillis();
for (int i = 0; i < WIKITTY_SIZE; i++) {
int nextInt = random.nextInt(WIKITTY_SIZE);
- wikittyService.restore(null, "Performance" + fieldSize + "id" + nextInt);
+ wikittyService.restore(null, null, Arrays.asList("Performance" + fieldSize + "id" + nextInt));
}
end = System.currentTimeMillis();
log.info("[Performance" + fieldSize + "] Read times : " + ((end - start) / 1000) + "s");
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/SearchTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -37,6 +37,7 @@
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyImpl;
+import org.nuiton.wikitty.WikittyServiceEnhanced;
import org.nuiton.wikitty.search.Search;
public class SearchTest extends AbstractTestConformance {
@@ -83,72 +84,72 @@
w.setField(ext.getName(), "birth", "19/04/1968 15:12");
wikitties.add( w );
- ws.store(null, wikitties);
+ ws.store(null, null, wikitties, false);
// Testing search on a date criteria
Criteria criteria = Search.query()
.gt("testExt.birth", "19/04/1968 15:00")
.criteria();
- PagedResult<String> result = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> result = ws.findAllByCriteria(null, null, criteria);
List<String> found = result.getAll();
assertEquals(1, found.size());
- Wikitty wikittyFound = ws.restore(null, found.get(0));
+ Wikitty wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "birth") );
// Testing search on a date criteria
criteria = Search.query()
.ge("testExt.birth", "19/04/1968")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = ws.findAllByCriteria(null, null, criteria);
found = result.getAll();
assertEquals(2, found.size());
- wikittyFound = ws.restore(null, found.get(0));
+ wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "birth") );
criteria = Search.query()
.eq("testExt.name", "Guillaume")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = ws.findAllByCriteria(null, null, criteria);
found = result.getAll();
assertEquals(1, found.size());
- wikittyFound = ws.restore(null, found.get(0));
+ wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
criteria = Search.query()
.eq("testExt.age", "125")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = ws.findAllByCriteria(null, null, criteria);
found = result.getAll();
assertEquals(1, found.size());
- wikittyFound = ws.restore(null, found.get(0));
+ wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
criteria = Search.query()
.gt("testExt.age", "10")
.criteria();
- result = ws.findAllByCriteria(null, criteria);
+ result = ws.findAllByCriteria(null, null, criteria);
found = result.getAll();
assertEquals(2, found.size());
- wikittyFound = ws.restore(null, found.get(0));
+ wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
- wikittyFound = ws.restore(null, found.get(1));
+ wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(1));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
Wikitty exemple = new WikittyImpl();
exemple.addExtension(ext);
exemple.setField(ext.getName(), "name", "Guillaume");
exemple.setField(ext.getName(), "age", "27");
- result = ws.findAllByCriteria(null, Search.query(exemple).criteria() );
+ result = ws.findAllByCriteria(null, null, Search.query(exemple).criteria() );
found = result.getAll();
assertEquals(1, found.size());
- wikittyFound = ws.restore(null, found.get(0));
+ wikittyFound = WikittyServiceEnhanced.restore(ws, null, found.get(0));
log.info( wikittyFound.getFieldAsString(ext.getName(), "name") );
exemple = new WikittyImpl();
exemple.addExtension(ext);
exemple.setField(ext.getName(), "name", "Guillaume");
exemple.setField(ext.getName(), "age", "125");
- result = ws.findAllByCriteria(null, Search.query(exemple).criteria() );
+ result = ws.findAllByCriteria(null, null, Search.query(exemple).criteria() );
found = result.getAll();
assertEquals(0, found.size());
// log.info( found.get(0).getFieldAsString(ext.getName(), "name") );
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/conform/StorageTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -51,7 +51,6 @@
import org.nuiton.wikitty.WikittyTree;
import org.nuiton.wikitty.WikittyTreeNode;
import org.nuiton.wikitty.WikittyTreeNodeImpl;
-import org.nuiton.wikitty.UpdateResponse;
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyExtension;
@@ -59,6 +58,8 @@
import org.nuiton.wikitty.WikittyLabelUtil;
import org.nuiton.wikitty.WikittyObsoleteException;
import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.WikittyServiceEnhanced;
+import org.nuiton.wikitty.WikittyServiceEvent;
import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.search.Element;
import org.nuiton.wikitty.search.Search;
@@ -71,8 +72,8 @@
public void testStoreRestoreBasics() throws Exception {
Wikitty w = createBasicWikitty();
String id = w.getId();
- ws.store(null, w);
- w = ws.restore(null, id);
+ ws.store(null, null, Collections.singletonList(w), false);
+ w = WikittyServiceEnhanced.restore(ws, null, id);
assertTrue(w.hasExtension(EXTNAME));
for ( int i = 0; i < 3; i++ ) {
assertTrue( w.hasField(EXTNAME, "fieldName" + i));
@@ -81,11 +82,11 @@
@Test
public void testExtensionMethod() throws Exception {
- ws.storeExtension(null, Arrays.asList(EXT_TEST));
+ ws.storeExtension(null, null, Collections.singletonList(EXT_TEST));
List<String> extIds = ws.getAllExtensionIds(null);
log.debug("extIds: " + extIds);
assertEquals(1, extIds.size());
- WikittyExtension ext = ws.restoreExtension(null, extIds.get(0));
+ WikittyExtension ext = ws.restoreExtension(null, null, extIds.get(0));
assertEquals(EXT_TEST.getName(), ext.getName());
assertEquals(EXT_TEST.getVersion(), ext.getVersion());
assertEquals(EXT_TEST, ext);
@@ -93,12 +94,12 @@
@Test
public void testExtensionRequires() throws Exception {
- ws.storeExtension(null, Arrays.asList(EXT_REQUIRED, EXT_REQUIRES));
+ ws.storeExtension(null, null, Arrays.asList(EXT_REQUIRED, EXT_REQUIRES));
List<String> extIds = ws.getAllExtensionsRequires(null, EXTREQUIRED);
log.debug("extIds: " + extIds);
assertEquals(1, extIds.size());
- WikittyExtension ext = ws.restoreExtension(null, extIds.get(0));
+ WikittyExtension ext = ws.restoreExtension(null, null, extIds.get(0));
assertEquals(EXT_REQUIRES.getName(), ext.getName());
assertEquals(EXT_REQUIRES.getVersion(), ext.getVersion());
assertEquals(EXT_REQUIRES, ext);
@@ -129,9 +130,9 @@
wikitties.add( w );
ids.add( w.getId() );
}
- ws.store(null, wikitties);
+ ws.store(null, null, wikitties, false);
- wikitties = ws.restore(null, ids);
+ wikitties = ws.restore(null, null, ids);
int wIndex = 0;
for ( String wValue : wValues ) {
Wikitty w = wikitties.get(wIndex);
@@ -169,7 +170,7 @@
Wikitty w = null;
// should be ignored (?)
try {
- ws.store(null, w);
+ ws.store(null, null, Collections.singletonList(w), false);
fail("store(null) Must throw an exception !");
} catch (Exception e) {
// OK !
@@ -177,8 +178,8 @@
w = new WikittyImpl();
String id = w.getId();
- ws.store(null, w);
- w = ws.restore(null, id);
+ ws.store(null, null, Collections.singletonList(w), false);
+ w = WikittyServiceEnhanced.restore(ws, null, id);
assertEquals( id, w.getId() );
}
@@ -191,12 +192,12 @@
"String other[0-n] unique=true notNull=true"
));
- ws.storeExtension(null, Arrays.asList(ext));
+ ws.storeExtension(null, null, Collections.singletonList(ext));
Wikitty w = new WikittyImpl();
w.addExtension(ext);
try {
- ws.store(null, w);
+ ws.store(null, null, Collections.singletonList(w), false);
Assert.fail("not null contraint don't work on String");
} catch (WikittyException eee) {
eee.printStackTrace();
@@ -205,7 +206,7 @@
w.setField("TestConstraint", "id", "toto");
try {
- ws.store(null, w);
+ ws.store(null, null, Collections.singletonList(w), false);
Assert.fail("not null contraint don't work in Collection");
} catch (WikittyException eee) {
eee.printStackTrace();
@@ -213,18 +214,18 @@
}
w.addToField("TestConstraint", "other", "titi");
- ws.store(null, w);
+ ws.store(null, null, Collections.singletonList(w), false);
w.addToField("TestConstraint", "ext", "tata");
w.addToField("TestConstraint", "ext", "titi");
- ws.store(null, w);
+ ws.store(null, null, Collections.singletonList(w), false);
- Wikitty w2 = ws.restore(null, w.getId());
+ Wikitty w2 = WikittyServiceEnhanced.restore(ws, null, w.getId());
w2.addToField("TestConstraint", "ext", "tata"); // tata ne doit pas s'ajouter
w2.addToField("TestConstraint", "ext", "toto");
- ws.store(null, w2);
- Wikitty w3 = ws.restore(null, w.getId());
+ ws.store(null, null, Collections.singletonList(w2), false);
+ Wikitty w3 = WikittyServiceEnhanced.restore(ws, null, w.getId());
HashSet set = new HashSet(Arrays.asList("tata", "titi", "toto"));
assertEquals(set, w3.getFieldAsSet("TestConstraint", "ext", String.class));
@@ -255,7 +256,7 @@
Wikitty w = createWikitty( wValue, EXTNAME, EXT_TEST );
wikitties.add( w );
}
- ws.store(null, wikitties);
+ ws.store(null, null, wikitties, false);
// search test
Wikitty w = new WikittyImpl();
@@ -263,10 +264,10 @@
w.setField(EXT_TEST.getName(), "fieldName1", "003309");
Criteria criteria = Search.query(w).criteria()
.addSortDescending(EXT_TEST.getName() + ".fieldName0");
- PagedResult<String> resultFind = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> resultFind = ws.findAllByCriteria(null, null, criteria);
assertEquals(2, resultFind.size());
- List<Wikitty> wikittyFind = ws.restore(null, resultFind.getAll());
+ List<Wikitty> wikittyFind = ws.restore(null, null, resultFind.getAll());
assertEquals(wikitties.subList(0, 2), wikittyFind);
}
@@ -300,7 +301,7 @@
Wikitty w = createWikitty( wValue, EXTNAME, EXT_TEST );
wikitties.add( w );
}
- ws.store(null, wikitties);
+ ws.store(null, null, wikitties, false);
// search test
Wikitty w = new WikittyImpl();
@@ -310,7 +311,7 @@
.setFirstIndex(0).setEndIndex(Criteria.ALL_ELEMENTS)
.addFacetField(EXT_TEST.getName()+".fieldName0")
.addFacetField(EXT_TEST.getName()+".fieldName1");
- PagedResult<String> resultFind = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> resultFind = ws.findAllByCriteria(null, null, criteria);
List<String> facetNames = new ArrayList<String>(resultFind.getFacetNames());
Collections.sort(facetNames);
@@ -352,7 +353,7 @@
for( Wikitty w : wikitties ) {
oldIdVersion.put(w.getId(), w.getVersion());
}
- UpdateResponse response = ws.store(null, wikitties);
+ WikittyServiceEvent response = ws.store(null, null, wikitties, false);
for (Wikitty w : wikitties) {
response.update(w);
String v1 = w.getVersion();
@@ -367,7 +368,7 @@
w.addExtension(EXT_TEST);
w.setField(EXT_TEST.getName(), "fieldName0", "chaiseICI");
Criteria criteria = Search.query(w).criteria();
- Wikitty resultFind = ws.findByCriteria(null, criteria);
+ Wikitty resultFind = ws.findByCriteria(null, null, criteria);
Wikitty wikittySource = wikitties.get(1);
assertEquals(w.getFieldAsString(EXT_TEST.getName(), "fieldName0"),
@@ -388,17 +389,18 @@
// test to find deleted wikitty
// test if solr index is coherent with database
Criteria criteria1 = Search.query().eq(Element.ELT_ID, wikittySource.getId()).criteria();
- Wikitty searchedWikitty1 = ws.findByCriteria(null, criteria1);
+ Wikitty searchedWikitty1 = ws.findByCriteria(null, null, criteria1);
Assert.assertNotNull(searchedWikitty1);
- ws.delete(null, wikittySource.getId());
- Wikitty deletedObject = ws.restore(null, wikittySource.getId());
+ ws.delete(null, Collections.singletonList(wikittySource.getId()));
+ Wikitty deletedObject =
+ WikittyServiceEnhanced.restore(ws, null, wikittySource.getId());
assertNull(deletedObject);
// test to find deleted wikitty
// test if solr index is coherent with database
Criteria criteria2 = Search.query().eq(Element.ELT_ID, wikittySource.getId()).criteria();
- Wikitty searchedWikitty2 = ws.findByCriteria(null, criteria2);
+ Wikitty searchedWikitty2 = ws.findByCriteria(null, null, criteria2);
Assert.assertNull(searchedWikitty2);
}
@@ -462,7 +464,7 @@
// leaf.addChild( subLeaf.getWikittyId() );
}
}
- ws.store(null, wikittyNodes); // store treeNodes.
+ ws.store(null, null, wikittyNodes, false); // store treeNodes.
Wikitty table = wikitties.get(0);
Wikitty chaise = wikitties.get(1);
@@ -487,8 +489,8 @@
Criteria criteria = Search.query(node.getWikitty()).criteria()
.setFirstIndex(0).setEndIndex(Criteria.ALL_ELEMENTS);
- List<String> wikittiesId = ws.findAllByCriteria(null, criteria).getAll();
- List<Wikitty> wikitties = ws.restore(null, wikittiesId);
+ List<String> wikittiesId = ws.findAllByCriteria(null, null, criteria).getAll();
+ List<Wikitty> wikitties = ws.restore(null, null, wikittiesId);
for ( Wikitty child : wikitties ) {
if (!child.hasExtension(WikittyTreeNode.EXT_WIKITTYTREENODE)) {
continue;
@@ -502,7 +504,7 @@
fail( "Unable to find node " + nodeName + " inside " + currentNode.getName() );
}
currentNode.addAttachment(wikitty.getId());
- ws.store(null, currentNode.getWikitty());
+ ws.store(null, null, Collections.singletonList(currentNode.getWikitty()), false);
}
/**
@@ -555,23 +557,23 @@
Wikitty myWikitty = new WikittyImpl();
myWikitty.addExtension(WikittyTreeNodeImpl.extensions);
myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "name");
- ws.store(null, myWikitty);
+ ws.store(null, null, Collections.singletonList(myWikitty), false);
Assert.assertEquals("1.0", myWikitty.getVersion());
// store 2 : no modification
- ws.store(null, myWikitty);
+ ws.store(null, null, Collections.singletonList(myWikitty), false);
Assert.assertEquals("1.0", myWikitty.getVersion());
// store 3 : modification
myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "new name");
- ws.store(null, myWikitty);
+ ws.store(null, null, Collections.singletonList(myWikitty), false);
Assert.assertEquals("2.0", myWikitty.getVersion());
// store 4 : new wikitty with same wikitty id (obsolete)
Wikitty myNewWikitty = new WikittyImpl(myWikitty.getId());
myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "new wikitty");
try {
- ws.store(null, myNewWikitty);
+ ws.store(null, null, Collections.singletonList(myNewWikitty), false);
Assert.fail("Test must throw WikittyObsoleteException");
}
catch (WikittyObsoleteException ex) {
@@ -581,12 +583,12 @@
}
// store 4 : same but with force (increased by force)
- ws.store(null, Collections.singletonList(myNewWikitty), true);
+ ws.store(null, null, Collections.singletonList(myNewWikitty), true);
Assert.assertEquals("3.0", myNewWikitty.getVersion());
// store 5 : fix version (not increased by force)
myNewWikitty.setVersion("11.0");
- ws.store(null, Collections.singletonList(myNewWikitty), true);
+ ws.store(null, null, Collections.singletonList(myNewWikitty), true);
Assert.assertEquals("11.0", myNewWikitty.getVersion());
}
@@ -600,16 +602,18 @@
Wikitty myWikitty = new WikittyImpl();
myWikitty.addExtension(WikittyTreeNodeImpl.extensions);
myWikitty.setField(WikittyTreeNode.EXT_WIKITTYTREENODE, WikittyTreeNode.FIELD_WIKITTYTREENODE_NAME, "name");
- ws.store(null, myWikitty);
+ ws.store(null, null, Collections.singletonList(myWikitty), false);
// delete
- ws.delete(null, myWikitty.getId());
- Wikitty restoredWikitty = ws.restore(null, myWikitty.getId());
+ ws.delete(null, Collections.singletonList(myWikitty.getId()));
+ Wikitty restoredWikitty =
+ WikittyServiceEnhanced.restore(ws, null, myWikitty.getId());
Assert.assertNull(restoredWikitty);
// store again
- ws.store(null, myWikitty);
- restoredWikitty = ws.restore(null, myWikitty.getId());
+ ws.store(null, null, Collections.singletonList(myWikitty), false);
+ restoredWikitty =
+ WikittyServiceEnhanced.restore(ws, null, myWikitty.getId());
Assert.assertNotNull(restoredWikitty);
}
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/importexport/ImportExportCSVTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/importexport/ImportExportCSVTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/importexport/ImportExportCSVTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -176,15 +176,15 @@
// test extension support
Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, extensionTag.getName()).criteria();
- PagedResult<String> pagedResult = ws.findAllByCriteria(null, criteria);
+ PagedResult<String> pagedResult = ws.findAllByCriteria(null, null, criteria);
Assert.assertEquals(1, pagedResult.getNumFound());
// test normal import
Criteria criteria2 = Search.query().eq(extensionClient.getName() + ".name", "Toto").criteria();
- PagedResult<String> pagedResult2 = ws.findAllByCriteria(null, criteria2);
+ PagedResult<String> pagedResult2 = ws.findAllByCriteria(null, null, criteria2);
Assert.assertEquals(1, pagedResult2.getNumFound());
- // test non existant wikitty tree node childreen deletion
+ // import attachment id that not exist, must be not imported
Criteria criteria3 = Search.query().eq(WikittyTreeNode.FQ_FIELD_WIKITTYTREENODE_NAME, "MyTreeNode").criteria();
PagedResult<WikittyTreeNode> pagedResult3 = proxy.findAllByCriteria(WikittyTreeNode.class, criteria3);
Assert.assertEquals(1, pagedResult3.getNumFound());
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/AbstractWikittyServiceTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/AbstractWikittyServiceTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/AbstractWikittyServiceTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -31,11 +31,12 @@
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyImpl;
import org.nuiton.wikitty.WikittyService;
+import org.nuiton.wikitty.WikittyServiceEnhanced;
public abstract class AbstractWikittyServiceTest {
/** a wikitty service (in memory) with a cache */
- protected WikittyService service;
+ protected WikittyServiceEnhanced service;
protected static final String EXT_NAME = "myextension";
protected static final String FIELD_NAME = "myfield";
@@ -45,19 +46,30 @@
protected WikittyExtension extension;
/** a wikitty with extension */
- protected Wikitty aWikitty;
+ private Wikitty aWikitty ;
protected String token;
-
+
+ public void setService(WikittyService service) {
+ this.service = new WikittyServiceEnhanced(service);
+ }
+
/** create a service, an extension, a wikitty, login, and store wikitty */
@Before
public void setUp() throws Exception {
extension = ExtensionFactory.create(EXT_NAME, "1")
.addField(FIELD_NAME, TYPE.STRING)
.extension();
- aWikitty = new WikittyImpl();
- aWikitty.addExtension(extension);
- aWikitty.setField(EXT_NAME, FIELD_NAME, VALUE);
}
+ public Wikitty getaWikitty() {
+ if (aWikitty == null) {
+ aWikitty = new WikittyImpl();
+ aWikitty.addExtension(extension);
+ aWikitty.setField(EXT_NAME, FIELD_NAME, VALUE);
+ }
+ return aWikitty;
+ }
+
+
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceCachedTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceCachedTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceCachedTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -28,6 +28,7 @@
import static org.junit.Assert.assertNotSame;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Properties;
@@ -42,15 +43,15 @@
@Before
public void setUpWikittyServiceCachedTest() {
- service = new WikittyServiceCached(new WikittyServiceInMemory());
+ setService(new WikittyServiceCached(new WikittyServiceInMemory()));
token = service.login(null, null);
- service.store(token, aWikitty);
+ service.store(token, null, Collections.singletonList(getaWikitty()), false);
}
/** setting a field value doesn't corrupt cache */
@Test
public void testRestore() throws Exception {
- Wikitty anotherWikitty = service.restore(token, aWikitty.getId());
+ Wikitty anotherWikitty = service.restore(token, getaWikitty().getId());
// we set the value of a field
anotherWikitty.setField(EXT_NAME, FIELD_NAME, "myothervalue");
@@ -68,9 +69,9 @@
public void testRestoreMultipleIds() throws Exception {
// now, let's do the same test, just by using others restore() available
List<String> idsToRestore = new ArrayList<String>();
- idsToRestore.add(aWikitty.getId());
+ idsToRestore.add(getaWikitty().getId());
- List<Wikitty> otherWikitties = service.restore(token, idsToRestore);
+ List<Wikitty> otherWikitties = service.restore(token, null, idsToRestore);
Wikitty anotherWikitty = otherWikitties.get(0);
// we set the value of a field
@@ -78,7 +79,7 @@
// now let's suppose, the user cancel its modification
// we don't have call store()
- otherWikitties = service.restore(token, idsToRestore);
+ otherWikitties = service.restore(token, null, idsToRestore);
anotherWikitty = otherWikitties.get(0);
// the remaining wikitty should hold old value
@@ -92,12 +93,12 @@
Properties props = new Properties();
props.setProperty(WikittyServiceCached.WIKITTY_CACHE_ALLWAYS_RESTORE_COPIES_POLICY_OPTION, "true");
- service = new WikittyServiceCached(new WikittyServiceInMemory(), props);
+ setService(new WikittyServiceCached(new WikittyServiceInMemory(), props));
token = service.login(null, null);
- service.store(token, aWikitty);
+ service.store(token, null, Collections.singletonList(getaWikitty()), false);
// restoring two times the same wikitty should produces two different copies
- Wikitty anotherWikitty = service.restore(token, aWikitty.getId());
+ Wikitty anotherWikitty = service.restore(token, getaWikitty().getId());
Wikitty yetAnotherWikitty = service.restore(token, anotherWikitty.getId());
assertEquals(anotherWikitty, yetAnotherWikitty);
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceSecurityTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceSecurityTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/layers/WikittyServiceSecurityTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -24,6 +24,7 @@
*/
package org.nuiton.wikitty.layers;
+import java.util.Collections;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@@ -56,7 +57,7 @@
private static final Log log = LogFactory.getLog(WikittyServiceSecurityTest.class);
- protected WikittyServiceSecurity securityService;
+// protected WikittyServiceSecurity securityService;
protected String noRightsToken;
protected String readerToken;
@@ -68,7 +69,7 @@
public void setUpWikittyServiceSecurityTest() {
WikittyService inMemoryService = new WikittyServiceInMemory();
- securityService = new WikittyServiceSecurity(inMemoryService);
+ WikittyServiceSecurity securityService = new WikittyServiceSecurity(inMemoryService);
/** /
// FIXME 20101005 bleny implementation should be able to allow
@@ -76,12 +77,12 @@
securityService = new WikittyServiceSecurity(securityService);
/**/
- service = securityService;
+ setService(securityService);
// token = service.login(APPADMIN_LOGIN, APPADMIN_PASSWORD);
token = null;
- WikittyProxy proxy = new WikittyProxy(securityService);
+ WikittyProxy proxy = new WikittyProxy(service);
proxy.setSecurityToken(token);
WikittyUser anonymous = new WikittyUserImpl();
@@ -107,9 +108,8 @@
WikittyUser owner = new WikittyUserImpl();
owner.setLogin("owner");
owner.setPassword("");
- proxy.store(owner);
+ owner = proxy.store(owner);
-
Wikitty authorizations = WikittySecurityHelper.createExtensionAuthorisation(owner, extension);
WikittyAuthorisationHelper.addReader(authorizations, reader.getWikittyId());
WikittyAuthorisationHelper.addWriter(authorizations, writer.getWikittyId());
@@ -118,8 +118,8 @@
log.debug("initial wikitty rights" + authorizations);
- securityService.storeExtension(token, extension);
- securityService.store(token, authorizations);
+ service.storeExtension(token, null, Collections.singletonList(extension));
+ service.store(token, null, Collections.singletonList(authorizations), false);
// Wikitty extensionAuthorisation =
@@ -152,16 +152,16 @@
// try to store with invalid token
String invalidToken = WikittyUtil.genSecurityTokenId();
try {
- service.store(invalidToken, aWikitty);
+ service.store(invalidToken, getaWikitty());
fail();
} catch (SecurityException e) {}
// now storing the wikitty for next tests
- service.store(readerToken, aWikitty);
+ service.store(readerToken, getaWikitty());
// try to make operations on the stored wikitty with a bad token
try {
- service.restore(invalidToken, aWikitty.getId());
+ service.restore(invalidToken, getaWikitty().getId());
fail();
} catch (SecurityException e) {}
@@ -173,7 +173,7 @@
// now try to make a valid token invalid
service.logout(readerToken);
try {
- service.store(readerToken, aWikitty);
+ service.store(readerToken, null, Collections.singletonList(getaWikitty()), false);
fail();
} catch (SecurityException e) {}
}
@@ -182,20 +182,20 @@
@Test
public void testReaderRightOnWikitty() {
- aWikitty.addExtension(WikittyAuthorisationAbstract.extensionWikittyAuthorisation);
- WikittyAuthorisation auth = new WikittyAuthorisationImpl(aWikitty);
+ getaWikitty().addExtension(WikittyAuthorisationAbstract.extensionWikittyAuthorisation);
+ WikittyAuthorisation auth = new WikittyAuthorisationImpl(getaWikitty());
- WikittyProxy proxy = new WikittyProxy(securityService);
+ WikittyProxy proxy = new WikittyProxy(service);
String readerId = WikittySecurityHelper.getUserWikittyId(proxy, "reader");
auth.clearReader();
auth.addReader(readerId);
- log.debug("will store wikitty" + aWikitty);
- service.store(ownerToken, aWikitty);
+ log.debug("will store wikitty" + getaWikitty());
+ service.store(ownerToken, null, Collections.singletonList(getaWikitty()), false);
try {
- Wikitty restoredWikitty = service.restore(null, aWikitty.getId());
+ Wikitty restoredWikitty = service.restore(null, getaWikitty().getId());
log.debug("restored wikitty is " + restoredWikitty);
fail("an exception should have been raised");
} catch (SecurityException e) {
@@ -205,11 +205,11 @@
@Test
public void testWriterRightOnWikitty() {
- aWikitty.addExtension(WikittyAuthorisationAbstract.extensionWikittyAuthorisation);
- WikittyAuthorisation auth = new WikittyAuthorisationImpl(aWikitty);
- service.store(ownerToken, aWikitty);
+ getaWikitty().addExtension(WikittyAuthorisationAbstract.extensionWikittyAuthorisation);
+ WikittyAuthorisation auth = new WikittyAuthorisationImpl(getaWikitty());
+ service.store(ownerToken, null, Collections.singletonList(getaWikitty()), false);
- WikittyProxy proxy = new WikittyProxy(securityService);
+ WikittyProxy proxy = new WikittyProxy(service);
String adminId = WikittySecurityHelper.getUserWikittyId(proxy, "admin");
auth.clearReader();
@@ -217,16 +217,16 @@
auth.clearAdmin();
auth.addAdmin(adminId);
- log.debug("will store wikitty" + aWikitty);
+ log.debug("will store wikitty" + getaWikitty());
try {
- service.store(writerToken, aWikitty);
+ service.store(writerToken, null, Collections.singletonList(getaWikitty()), false);
fail("an exception should have been raised");
} catch (SecurityException e) {
log.info("raised exception : " + e);
}
- Wikitty restoredWikitty = service.restore(null, aWikitty.getId());
+ Wikitty restoredWikitty = service.restore(null, getaWikitty().getId());
log.debug("restored wikitty is " + restoredWikitty);
assertNotNull(restoredWikitty);
}
@@ -238,28 +238,28 @@
public void checkReaderRightOnExtension() {
try {
- service.store(noRightsToken, aWikitty);
+ service.store(noRightsToken, null, Collections.singletonList(getaWikitty()), false);
fail("an exception should have been raised");
} catch (SecurityException e) {
log.debug("creating a wikitty without rights", e);
}
try {
- service.restoreExtension(noRightsToken, extension.getId());
+ service.restoreExtension(noRightsToken, null, extension.getId());
} catch (SecurityException e) {
fail("no exception should have been raised");
}
try {
- service.restoreExtensionLastVersion(noRightsToken, extension.getName());
+ service.restoreExtensionLastVersion(noRightsToken, null, extension.getName());
} catch (SecurityException e) {
fail("no exception should have been raised");
}
try {
- service.store(readerToken, aWikitty);
- service.restoreExtension(readerToken, extension.getId());
- service.restoreExtensionLastVersion(readerToken, extension.getName());
+ service.store(readerToken, null, Collections.singletonList(getaWikitty()), false);
+ service.restoreExtension(readerToken, null, extension.getId());
+ service.restoreExtensionLastVersion(readerToken, null, extension.getName());
} catch (SecurityException e) {
fail("an exception has been raised");
}
@@ -271,16 +271,16 @@
FieldType fieldType = new FieldType(FieldType.TYPE.STRING, 0, 1);
- service.restoreExtensionLastVersion(writerToken, extension.getName());
+ service.restoreExtensionLastVersion(writerToken, null, extension.getName());
extension.addField("new_field", fieldType);
try {
- service.storeExtension(readerToken, extension);
+ service.storeExtension(readerToken, null, Collections.singletonList(extension));
fail("an exception should have been raised");
} catch (SecurityException e) {}
try {
- service.storeExtension(writerToken, extension);
+ service.storeExtension(writerToken, null, Collections.singletonList(extension));
} catch (SecurityException e) {
fail("an exception has been raised");
}
@@ -290,7 +290,7 @@
public void checkAdminRightOnExtension() {
// TODO 20100923 bleny check that store with no sufficient rights fail
- WikittyProxy adminProxy = new WikittyProxy(securityService);
+ WikittyProxy adminProxy = new WikittyProxy(service);
adminProxy.setSecurityToken(adminToken);
Wikitty extensionAuthorisation =
WikittySecurityHelper.restoreExtensionAuthorisation(adminProxy, extension);
@@ -311,11 +311,11 @@
log.debug("will store rights " + extensionAuthorisation);
try {
- securityService.store(writerToken, extensionAuthorisation);
+ service.store(writerToken, null, Collections.singletonList(extensionAuthorisation), false);
fail("an exception should habe raised");
} catch (SecurityException e) {}
- securityService.store(adminToken, extensionAuthorisation);
+ service.store(adminToken, null, Collections.singletonList(extensionAuthorisation), false);
// now, restore and check that rights are preserved
extensionAuthorisation =
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/memory/InMemoryStorageTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -32,6 +32,7 @@
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
import org.junit.Before;
@@ -41,6 +42,7 @@
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyImpl;
+import org.nuiton.wikitty.WikittyServiceEnhanced;
import org.nuiton.wikitty.WikittyServiceInMemory;
import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.api.AbstractTestApi;
@@ -84,11 +86,11 @@
ext
);
String id = w.getId();
- wikittyService.store(null, w);
+ wikittyService.store(null, null, Collections.singletonList(w), false);
((WikittyServiceInMemory)wikittyService).saveToPersistenceFile();
wikittyService = new WikittyServiceInMemory( tempPersistFile );
- w = wikittyService.restore(null, id);
+ w = WikittyServiceEnhanced.restore(wikittyService, null, id);
assertTrue( w.hasField(extName, "fieldName0") );
assertEquals( 123, w.getFieldAsInt(extName, "fieldName0") );
assertTrue( w.hasField(extName, "fieldName1") );
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/WikittyServiceNotificationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/WikittyServiceNotificationTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/WikittyServiceNotificationTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -1,6 +1,7 @@
package org.nuiton.wikitty.notification;
+import java.util.EnumSet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
@@ -25,7 +26,7 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(WikittyServiceNotificationTest.class);
- protected WikittyServiceEvent.WikittyEventType lastEvent = null;
+ protected EnumSet<WikittyServiceEvent.WikittyEventType> lastEvent = null;
protected int nbEvent = 0;
/**
@@ -59,12 +60,13 @@
*/
protected void sendEvent(WikittyServiceNotifier wsn, boolean hasListener) throws Exception {
{
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.PUT_WIKITTY);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addType(WikittyServiceEvent.WikittyEventType.PUT_WIKITTY);
wsn.processRemoteEvent(event);
wsn.getEventThread().waitFor(event.getTime());
if (hasListener) {
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.PUT_WIKITTY,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.PUT_WIKITTY),
lastEvent);
} else {
Assert.assertEquals(null, lastEvent);
@@ -72,12 +74,13 @@
lastEvent = null;
}
{
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addType(WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY);
wsn.processRemoteEvent(event);
wsn.getEventThread().waitFor(event.getTime());
if (hasListener) {
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY),
lastEvent);
} else {
Assert.assertEquals(null, lastEvent);
@@ -85,12 +88,13 @@
lastEvent = null;
}
{
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addType(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY);
wsn.processRemoteEvent(event);
wsn.getEventThread().waitFor(event.getTime());
if (hasListener) {
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY),
lastEvent);
} else {
Assert.assertEquals(null, lastEvent);
@@ -98,12 +102,13 @@
lastEvent = null;
}
{
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.PUT_EXTENSION);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addType(WikittyServiceEvent.WikittyEventType.PUT_EXTENSION);
wsn.processRemoteEvent(event);
wsn.getEventThread().waitFor(event.getTime());
if (hasListener) {
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.PUT_EXTENSION,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.PUT_EXTENSION),
lastEvent);
} else {
Assert.assertEquals(null, lastEvent);
@@ -111,12 +116,13 @@
lastEvent = null;
}
{
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addType(WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION);
wsn.processRemoteEvent(event);
wsn.getEventThread().waitFor(event.getTime());
if (hasListener) {
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION),
lastEvent);
} else {
Assert.assertEquals(null, lastEvent);
@@ -124,12 +130,13 @@
lastEvent = null;
}
{
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addType(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION);
wsn.processRemoteEvent(event);
wsn.getEventThread().waitFor(event.getTime());
if (hasListener) {
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION),
lastEvent);
} else {
Assert.assertEquals(null, lastEvent);
@@ -146,7 +153,8 @@
@Override
public void putWikitty(WikittyServiceEvent event) {
nbEvent++;
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.PUT_WIKITTY,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.PUT_WIKITTY),
event.getType());
lastEvent = event.getType();
}
@@ -154,7 +162,8 @@
@Override
public void removeWikitty(WikittyServiceEvent event) {
nbEvent++;
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.REMOVE_WIKITTY),
event.getType());
lastEvent = event.getType();
}
@@ -162,7 +171,8 @@
@Override
public void clearWikitty(WikittyServiceEvent event) {
nbEvent++;
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY),
event.getType());
lastEvent = event.getType();
}
@@ -170,7 +180,8 @@
@Override
public void putExtension(WikittyServiceEvent event) {
nbEvent++;
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.PUT_EXTENSION,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.PUT_EXTENSION),
event.getType());
lastEvent = event.getType();
}
@@ -178,7 +189,8 @@
@Override
public void removeExtension(WikittyServiceEvent event) {
nbEvent++;
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.REMOVE_EXTENSION),
event.getType());
lastEvent = event.getType();
}
@@ -186,7 +198,8 @@
@Override
public void clearExtension(WikittyServiceEvent event) {
nbEvent++;
- Assert.assertEquals(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION,
+ Assert.assertEquals(
+ EnumSet.of(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION),
event.getType());
lastEvent = event.getType();
}
Modified: trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java
===================================================================
--- trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-api/src/test/java/org/nuiton/wikitty/notification/XMPPNotificationTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -25,6 +25,7 @@
package org.nuiton.wikitty.notification;
+import java.util.Date;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
@@ -64,13 +65,9 @@
// Envoi d'un message avec le transporter normal
XMPPNotifierTransporter xmpp = new XMPPNotifierTransporter(null, props);
- WikittyServiceEvent event = new WikittyServiceEvent("test",
- WikittyServiceEvent.WikittyEventType.PUT_WIKITTY);
- Set<String> ids = new HashSet<String>();
- ids.add("id1");
- ids.add("id2");
- ids.add("id3");
- event.setIds(ids);
+ WikittyServiceEvent event = new WikittyServiceEvent("test");
+ event.addRemoveDate("theId", new Date());
+
xmpp.sendMessage(event);
Modified: trunk/wikitty-hessian-client/src/main/java/org/wikitty/hessian/WikittyHessianFactory.java
===================================================================
--- trunk/wikitty-hessian-client/src/main/java/org/wikitty/hessian/WikittyHessianFactory.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-hessian-client/src/main/java/org/wikitty/hessian/WikittyHessianFactory.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2010 CodeLutin
+ * Copyright (C) 2010 CodeLutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -22,23 +22,6 @@
* <http://www.gnu.org/licenses/lgpl-3.0.html>.
* #L%
*/
-/* *##%
- * Copyright (C) 2010 Code Lutin, Chatellier Eric
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
package org.wikitty.hessian;
Modified: trunk/wikitty-hessian-server/src/main/java/org/nuiton/wikitty/hessian/WikittyServiceHessianDelegator.java
===================================================================
--- trunk/wikitty-hessian-server/src/main/java/org/nuiton/wikitty/hessian/WikittyServiceHessianDelegator.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-hessian-server/src/main/java/org/nuiton/wikitty/hessian/WikittyServiceHessianDelegator.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2010 CodeLutin
+ * Copyright (C) 2010 CodeLutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -22,23 +22,6 @@
* <http://www.gnu.org/licenses/lgpl-3.0.html>.
* #L%
*/
-/* *##%
- * Copyright (C) 2010 Code Lutin, Chatellier Eric
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *##%*/
package org.nuiton.wikitty.hessian;
Modified: trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java
===================================================================
--- trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyExtensionStorageJDBC.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -64,10 +64,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.FieldType;
-import org.nuiton.wikitty.UpdateResponse;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyExtensionStorage;
+import org.nuiton.wikitty.WikittyServiceEvent;
import org.nuiton.wikitty.WikittyTransaction;
import org.nuiton.wikitty.WikittyUtil;
@@ -129,9 +129,10 @@
}
@Override
- public UpdateResponse store(WikittyTransaction transaction,
+ public WikittyServiceEvent store(WikittyTransaction transaction,
Collection<WikittyExtension> extensions)
throws WikittyException {
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
Connection connection = getConnection(conf);
try {
for (WikittyExtension ext : extensions) {
@@ -146,6 +147,7 @@
//if the data is not already recorded
if (!versionResultSet.next()) {
+ result.addExtension(ext);
doQuery(connection, conf.getProperty(QUERY_INSERT_EXTENSION_ADMIN),
ext.getId(),
ext.getName(),
@@ -167,8 +169,7 @@
// FIXME poussin 20100114 put that in abstractService after commit, because must remove cache only when tx is commited
// modification in extension, remove the cache
lastVersion = null;
- // nothing to put in result
- UpdateResponse result = new UpdateResponse();
+
return result;
} catch (SQLException eee) {
throw new WikittyException("Can't store extension", eee);
@@ -347,12 +348,14 @@
}
@Override
- public void clear(WikittyTransaction transaction) {
+ public WikittyServiceEvent clear(WikittyTransaction transaction) {
Connection connection = getConnection(conf);
try {
lastVersion = null;
doQuery(connection, conf.getProperty(QUERY_CLEAR_EXTENSION));
-
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ result.addType(WikittyServiceEvent.WikittyEventType.CLEAR_EXTENSION);
+ return result;
} catch (Exception eee) {
throw new WikittyException("Can't clear all extension", eee);
} finally {
Modified: trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java
===================================================================
--- trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-jdbc-impl/src/main/java/org/nuiton/wikitty/jdbc/WikittyStorageJDBC.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -77,13 +77,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.wikitty.FieldType;
-import org.nuiton.wikitty.UpdateResponse;
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyExtensionStorage;
import org.nuiton.wikitty.WikittyImpl;
import org.nuiton.wikitty.WikittyObsoleteException;
+import org.nuiton.wikitty.WikittyServiceEvent;
import org.nuiton.wikitty.WikittyStorage;
import org.nuiton.wikitty.WikittyTransaction;
import org.nuiton.wikitty.WikittyUtil;
@@ -168,11 +168,11 @@
}
@Override
- public UpdateResponse store(WikittyTransaction transaction,
+ public WikittyServiceEvent store(WikittyTransaction transaction,
Collection<Wikitty> wikitties, boolean force) throws WikittyException {
Connection connection = getConnection(conf);
try {
- UpdateResponse result = new UpdateResponse();
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
for (Wikitty wikitty : wikitties) {
String query = String.format(conf.getProperty(QUERY_SELECT_TWO_WHERE),
COL_VERSION, COL_DELETION_DATE, TABLE_WIKITTY_ADMIN, COL_ID);
@@ -190,7 +190,7 @@
actualVersion = versionResultSet.getString(COL_VERSION);
deletionDate = versionResultSet.getDate(COL_DELETION_DATE);
}
-
+
// compute new version, but not change wikitty
String newVersion = null;
if (force) {
@@ -234,8 +234,6 @@
}
- result.addVersionUpdate(wikitty.getId(), newVersion);
-
for (WikittyExtension ext : wikitty.getExtensions()) {
extensionList += "," + ext.getId();
for (String fieldName : ext.getFieldNames()) {
@@ -290,6 +288,7 @@
wikitty.setVersion(newVersion);
wikitty.clearDirty();
+ result.addWikitty(wikitty);
}
return result;
@@ -383,10 +382,10 @@
}
@Override
- public UpdateResponse delete(WikittyTransaction transaction, Collection<String> ids) throws WikittyException {
+ public WikittyServiceEvent delete(WikittyTransaction transaction, Collection<String> ids) throws WikittyException {
Connection connection = getConnection(conf);
try {
- UpdateResponse result = new UpdateResponse();
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
Date now = new Date();
for (String id : ids) {
@@ -401,7 +400,7 @@
}
// addVersionUpdate delete date field
doQuery(connection, conf.getProperty(QUERY_DELETE_WIKITTY_ADMIN), id);
- result.addDeletionDateUpdate(id, now);
+ result.addRemoveDate(id, now);
}
@@ -558,11 +557,13 @@
}
@Override
- public void clear(WikittyTransaction transaction) {
+ public WikittyServiceEvent clear(WikittyTransaction transaction) {
Connection connection = getConnection(conf);
try {
doQuery(connection, conf.getProperty(QUERY_CLEAR_WIKITTY));
-
+ WikittyServiceEvent result = new WikittyServiceEvent(this);
+ result.addType(WikittyServiceEvent.WikittyEventType.CLEAR_WIKITTY);
+ return result;
} catch (SQLException eee) {
throw new WikittyException("Can't clear wikitty data", eee);
} finally {
Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEnginSolr.java
===================================================================
--- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEnginSolr.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/solr/WikittySearchEnginSolr.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -54,7 +54,6 @@
import org.nuiton.wikitty.FieldType.TYPE;
import org.nuiton.wikitty.PagedResult;
import org.nuiton.wikitty.WikittyTreeNode;
-import org.nuiton.wikitty.UpdateResponse;
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyException;
import org.nuiton.wikitty.WikittyExtension;
@@ -531,7 +530,7 @@
}
@Override
- public UpdateResponse store(WikittyTransaction transaction, Collection<Wikitty> wikitties) {
+ public void store(WikittyTransaction transaction, Collection<Wikitty> wikitties) {
try {
solrResource.init();
ReindexChildTreeNode reindexChildTreeNode =
@@ -574,19 +573,14 @@
}
// Reindex child in tree node
- reindexChildTreeNode.reindex();
-
- // no specific result needed
- UpdateResponse result = new UpdateResponse();
- return result;
-
+ reindexChildTreeNode.reindex();
} catch (Exception eee) {
throw new WikittyException("Can't store wikitty", eee);
}
}
@Override
- public UpdateResponse delete(WikittyTransaction transaction, Collection<String> ids) throws WikittyException {
+ public void delete(WikittyTransaction transaction, Collection<String> ids) throws WikittyException {
try {
solrResource.init();
ReindexChildTreeNode reindexChildTreeNode =
@@ -609,11 +603,6 @@
// Reindex child in tree node
reindexChildTreeNode.reindex();
-
- // No specific result needed
- UpdateResponse result = new UpdateResponse();
- return result;
-
} catch (Exception eee) {
throw new WikittyException("Can't delete wikitty in index", eee);
}
Modified: trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/AbstractTestSolr.java
===================================================================
--- trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/AbstractTestSolr.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/AbstractTestSolr.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -25,16 +25,16 @@
package org.nuiton.wikitty.solr.test;
import org.junit.Before;
-import org.nuiton.wikitty.WikittyService;
+import org.nuiton.wikitty.WikittyServiceEnhanced;
public abstract class AbstractTestSolr {
- protected WikittyService ws = new WikittyServiceSolr();
+ protected WikittyServiceEnhanced ws =
+ new WikittyServiceEnhanced(new WikittyServiceSolr());
@Before
public void deleteAll() throws Exception {
- WikittyServiceSolr hbaseService = ((WikittyServiceSolr) ws);
- hbaseService.clear(null);
+ ws.clear(null);
}
}
Modified: trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/TreeTest.java
===================================================================
--- trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/TreeTest.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-solr-impl/src/test/java/org/nuiton/wikitty/solr/test/TreeTest.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -47,6 +47,7 @@
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyImpl;
+import org.nuiton.wikitty.WikittyServiceEvent;
import org.nuiton.wikitty.conform.StorageTest;
import org.nuiton.wikitty.search.Search;
@@ -399,7 +400,8 @@
WikittyTreeNodeImpl child = new WikittyTreeNodeImpl();
child.setParent(parent.getWikittyId());
- ws.store(null, child.getWikitty());
+ WikittyServiceEvent event = ws.store(null, child.getWikitty());
+ event.update(child.getWikitty());
Map<WikittyTreeNode, Integer> children = ws.restoreChildren(null, parent.getWikittyId(), null);
Modified: trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java
===================================================================
--- trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java 2010-10-26 12:58:09 UTC (rev 451)
+++ trunk/wikitty-ui-zk/src/main/java/org/nuiton/wikitty/ui/Model.java 2010-10-27 09:04:19 UTC (rev 452)
@@ -30,6 +30,7 @@
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyExtension;
import org.nuiton.wikitty.WikittyService;
+import org.nuiton.wikitty.WikittyServiceEnhanced;
import org.nuiton.wikitty.search.Element;
import org.nuiton.wikitty.search.Search;
@@ -39,10 +40,10 @@
*/
public class Model {
- protected WikittyService _service = null;
+ protected WikittyServiceEnhanced _service = null;
public Model(WikittyService service) {
- _service = service;
+ _service = new WikittyServiceEnhanced(service);
}
/*
1
0
Author: tchemit
Date: 2010-10-26 14:58:09 +0200 (Tue, 26 Oct 2010)
New Revision: 451
Url: http://nuiton.org/repositories/revision/wikitty/451
Log:
fix build (use inheritance from mavenpom for commons libs)
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-26 12:14:17 UTC (rev 450)
+++ trunk/pom.xml 2010-10-26 12:58:09 UTC (rev 451)
@@ -33,7 +33,7 @@
<dependencyManagement>
<dependencies>
- <dependency>
+ <!--dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
@@ -66,7 +66,7 @@
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
<scope>compile</scope>
- </dependency>
+ </dependency-->
<dependency>
<groupId>commons-dbcp</groupId>
@@ -75,12 +75,12 @@
<scope>compile</scope>
</dependency>
- <dependency>
+ <!--dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3</version>
<scope>compile</scope>
- </dependency>
+ </dependency-->
<dependency>
<groupId>org.nuiton.eugene</groupId>
1
0
Author: tchemit
Date: 2010-10-26 14:14:17 +0200 (Tue, 26 Oct 2010)
New Revision: 450
Url: http://nuiton.org/repositories/revision/wikitty/450
Log:
use mavenpom 2.4-SNAPSHOT
use camelCase style for version properties
use default libraries version from mavenpom
Modified:
trunk/pom.xml
trunk/wikitty-api/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
+++ trunk/pom.xml 2010-10-26 12:14:17 UTC (rev 450)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.3.2</version>
+ <version>2.4-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
@@ -85,7 +85,7 @@
<dependency>
<groupId>org.nuiton.eugene</groupId>
<artifactId>eugene</artifactId>
- <version>${eugene.version}</version>
+ <version>${eugeneVersion}</version>
</dependency>
<dependency>
@@ -203,32 +203,32 @@
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zk</artifactId>
- <version>${zk.version}</version>
+ <version>${zkVersion}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zkplus</artifactId>
- <version>${zk.version}</version>
+ <version>${zkVersion}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zul</artifactId>
- <version>${zk.version}</version>
+ <version>${zkVersion}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
- <version>${hbase.version}</version>
+ <version>${hbaseVersion}</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<classifier>tests</classifier>
- <version>${hbase.version}</version>
+ <version>${hbaseVersion}</version>
<scope>test</scope>
</dependency>
@@ -250,47 +250,47 @@
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
- <version>${jetty.version}</version>
+ <version>${jettyVersion}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
- <version>${spring.version}</version>
+ <version>${springVersion}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
- <version>${spring.version}</version>
+ <version>${springVersion}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
+ <version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
+ <version>${springVersion}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
- <version>${spring.version}</version>
+ <version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
- <version>${spring.version}</version>
+ <version>${springVersion}</version>
</dependency>
<dependency>
@@ -467,13 +467,13 @@
<projectId>wikitty</projectId>
<!-- common versions used in sub-poms -->
- <eugene.version>2.2</eugene.version>
- <spring.version>3.0.1.RELEASE</spring.version>
- <jetty.version>6.1.22</jetty.version>
+ <eugeneVersion>2.2</eugeneVersion>
+ <springVersion>3.0.1.RELEASE</springVersion>
+ <jettyVersion>6.1.22</jettyVersion>
- <zk.version>5.0.2</zk.version>
+ <zkVersion>5.0.2</zkVersion>
- <hbase.version>0.89.0-SNAPSHOT</hbase.version>
+ <hbaseVersion>0.89.0-SNAPSHOT</hbaseVersion>
</properties>
<!-- ************************************************************* -->
@@ -490,7 +490,7 @@
<dependency>
<groupId>org.nuiton.jrst</groupId>
<artifactId>doxia-module-jrst</artifactId>
- <version>${jrst.version}</version>
+ <version>${jrstPluginVersion}</version>
</dependency>
</dependencies>
</plugin>
Modified: trunk/wikitty-api/pom.xml
===================================================================
--- trunk/wikitty-api/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
+++ trunk/wikitty-api/pom.xml 2010-10-26 12:14:17 UTC (rev 450)
@@ -145,7 +145,7 @@
<plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>maven-eugene-plugin</artifactId>
- <version>${eugene.version}</version>
+ <version>${eugeneVersion}</version>
<dependencies>
<dependency>
<groupId>org.nuiton.wikitty</groupId>
1
0
r449 - in trunk: . wikitty-api wikitty-generators wikitty-hessian-client wikitty-hessian-server wikitty-jdbc-impl wikitty-solr-impl wikitty-ui-zk
by bpoussin@users.nuiton.org 21 Oct '10
by bpoussin@users.nuiton.org 21 Oct '10
21 Oct '10
Author: bpoussin
Date: 2010-10-21 16:47:36 +0200 (Thu, 21 Oct 2010)
New Revision: 449
Url: http://nuiton.org/repositories/revision/wikitty/449
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/wikitty-api/pom.xml
trunk/wikitty-generators/pom.xml
trunk/wikitty-hessian-client/pom.xml
trunk/wikitty-hessian-server/pom.xml
trunk/wikitty-jdbc-impl/pom.xml
trunk/wikitty-solr-impl/pom.xml
trunk/wikitty-ui-zk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -15,7 +15,7 @@
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
<modules>
@@ -328,10 +328,10 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/wikitty/tags/wikitty-2.2.2</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/wikitty/tags/wikitty-2.2.2
+ <connection>scm:svn:http://svn.nuiton.org/svn/wikitty/trunk</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/wikitty/trunk
</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/wikitty/tags/wikitty-2.2.2</url>
+ <url>http://www.nuiton.org/repositories/browse/wikitty/trunk</url>
</scm>
<!-- ************************************************************* -->
Modified: trunk/wikitty-api/pom.xml
===================================================================
--- trunk/wikitty-api/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-api/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-generators/pom.xml
===================================================================
--- trunk/wikitty-generators/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-generators/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-hessian-client/pom.xml
===================================================================
--- trunk/wikitty-hessian-client/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-hessian-client/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-hessian-server/pom.xml
===================================================================
--- trunk/wikitty-hessian-server/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-hessian-server/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-jdbc-impl/pom.xml
===================================================================
--- trunk/wikitty-jdbc-impl/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-jdbc-impl/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<groupId>org.nuiton.wikitty</groupId>
Modified: trunk/wikitty-solr-impl/pom.xml
===================================================================
--- trunk/wikitty-solr-impl/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-solr-impl/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-ui-zk/pom.xml
===================================================================
--- trunk/wikitty-ui-zk/pom.xml 2010-10-21 14:47:31 UTC (rev 448)
+++ trunk/wikitty-ui-zk/pom.xml 2010-10-21 14:47:36 UTC (rev 449)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2</version>
+ <version>2.3-SNAPSHOT</version>
</parent>
<!-- ************************************************************* -->
1
0
Author: bpoussin
Date: 2010-10-21 16:47:31 +0200 (Thu, 21 Oct 2010)
New Revision: 448
Url: http://nuiton.org/repositories/revision/wikitty/448
Log:
[maven-release-plugin] copy for tag wikitty-2.2.2
Added:
tags/wikitty-2.2.2/
Property changes on: tags/wikitty-2.2.2
___________________________________________________________________
Added: svn:ignore
+ .settings
.project
target
*.iml
*.ipr
*.iws
Added: svn:mergeinfo
+ /branches/2.0-eugene2:164-179
1
0
r447 - in trunk: . wikitty-api wikitty-generators wikitty-hessian-client wikitty-hessian-server wikitty-jdbc-impl wikitty-solr-impl wikitty-ui-zk
by bpoussin@users.nuiton.org 21 Oct '10
by bpoussin@users.nuiton.org 21 Oct '10
21 Oct '10
Author: bpoussin
Date: 2010-10-21 16:47:29 +0200 (Thu, 21 Oct 2010)
New Revision: 447
Url: http://nuiton.org/repositories/revision/wikitty/447
Log:
[maven-release-plugin] prepare release wikitty-2.2.2
Modified:
trunk/pom.xml
trunk/wikitty-api/pom.xml
trunk/wikitty-generators/pom.xml
trunk/wikitty-hessian-client/pom.xml
trunk/wikitty-hessian-server/pom.xml
trunk/wikitty-jdbc-impl/pom.xml
trunk/wikitty-solr-impl/pom.xml
trunk/wikitty-ui-zk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -15,7 +15,7 @@
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
<modules>
@@ -328,10 +328,10 @@
<!-- Source control management. -->
<scm>
- <connection>scm:svn:http://svn.nuiton.org/svn/wikitty/trunk</connection>
- <developerConnection>scm:svn:http://svn.nuiton.org/svn/wikitty/trunk
+ <connection>scm:svn:http://svn.nuiton.org/svn/wikitty/tags/wikitty-2.2.2</connection>
+ <developerConnection>scm:svn:http://svn.nuiton.org/svn/wikitty/tags/wikitty-2.2.2
</developerConnection>
- <url>http://www.nuiton.org/repositories/browse/wikitty/trunk</url>
+ <url>http://www.nuiton.org/repositories/browse/wikitty/tags/wikitty-2.2.2</url>
</scm>
<!-- ************************************************************* -->
Modified: trunk/wikitty-api/pom.xml
===================================================================
--- trunk/wikitty-api/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-api/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-generators/pom.xml
===================================================================
--- trunk/wikitty-generators/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-generators/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-hessian-client/pom.xml
===================================================================
--- trunk/wikitty-hessian-client/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-hessian-client/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-hessian-server/pom.xml
===================================================================
--- trunk/wikitty-hessian-server/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-hessian-server/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-jdbc-impl/pom.xml
===================================================================
--- trunk/wikitty-jdbc-impl/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-jdbc-impl/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<groupId>org.nuiton.wikitty</groupId>
Modified: trunk/wikitty-solr-impl/pom.xml
===================================================================
--- trunk/wikitty-solr-impl/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-solr-impl/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<!-- ************************************************************* -->
Modified: trunk/wikitty-ui-zk/pom.xml
===================================================================
--- trunk/wikitty-ui-zk/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
+++ trunk/wikitty-ui-zk/pom.xml 2010-10-21 14:47:29 UTC (rev 447)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>wikitty</artifactId>
- <version>2.2.2-SNAPSHOT</version>
+ <version>2.2.2</version>
</parent>
<!-- ************************************************************* -->
1
0
Author: bpoussin
Date: 2010-10-21 16:38:31 +0200 (Thu, 21 Oct 2010)
New Revision: 446
Url: http://nuiton.org/repositories/revision/wikitty/446
Log:
change nuiton-util version to 1.5
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-21 14:36:21 UTC (rev 445)
+++ trunk/pom.xml 2010-10-21 14:38:31 UTC (rev 446)
@@ -140,7 +140,7 @@
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-utils</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.5</version>
<scope>compile</scope>
</dependency>
1
0
Author: bpoussin
Date: 2010-10-21 16:36:21 +0200 (Thu, 21 Oct 2010)
New Revision: 445
Url: http://nuiton.org/repositories/revision/wikitty/445
Log:
add wikitty site url
Modified:
trunk/README.txt
Modified: trunk/README.txt
===================================================================
--- trunk/README.txt 2010-10-21 14:32:50 UTC (rev 444)
+++ trunk/README.txt 2010-10-21 14:36:21 UTC (rev 445)
@@ -0,0 +1 @@
+visite http://www.nuiton.org/projects/show/wikitty
1
0