Author: echatellier Date: 2010-06-08 14:51:49 +0200 (Tue, 08 Jun 2010) New Revision: 107 Url: http://nuiton.org/repositories/revision/wikitty/107 Log: Add new method on wikitty proxy restoreExtensionLastVersion with a transaction as parameter (used by csv import/export) Modified: 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/WikittyServiceImpl.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/importexport/ExportTask.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportCSV.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportMethod.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportXML.java trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportTask.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyService.java 2010-06-08 12:51:49 UTC (rev 107) @@ -186,7 +186,7 @@ /** * action is done in transaction passed in argument * - * @param transaction transaction used to do the action (must not be null) * + * @param transaction transaction used to do the action (must not be null) * @param id * @return the corresponding object, exception if no such object found. */ @@ -194,12 +194,23 @@ WikittyTransaction transaction, String id); /** - * Search extension with name in last version - * @param name + * Search extension with name in last version. + * + * @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 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); /** * Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceCached.java 2010-06-08 12:51:49 UTC (rev 107) @@ -334,6 +334,19 @@ // 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 ? + return ws.restoreExtensionLastVersion(securityToken, transaction, name); + } /** * just wrap service method Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceImpl.java 2010-06-08 12:51:49 UTC (rev 107) @@ -326,7 +326,7 @@ } - protected WikittyExtension restoreExtensionLastVersion(String securityToken, + public WikittyExtension restoreExtensionLastVersion(String securityToken, WikittyTransaction transaction, String name) { String version = getExtensionStorage().getLastVersion(transaction, name); if(version == null) { Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceNotifier.java 2010-06-08 12:51:49 UTC (rev 107) @@ -272,6 +272,13 @@ } @Override + public WikittyExtension restoreExtensionLastVersion( + String securityToken, WikittyTransaction transaction, String name) { + // no notification + return ws.restoreExtensionLastVersion(securityToken, name); + } + + @Override public Wikitty restore(String securityToken, String id) { // no notification return ws.restore(securityToken, id); Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/WikittyServiceSecurity.java 2010-06-08 12:51:49 UTC (rev 107) @@ -141,6 +141,11 @@ } @Override + public WikittyExtension restoreExtensionLastVersion(String securityToken, WikittyTransaction transaction, String name) { + throw new UnsupportedOperationException("Not supported yet."); + } + + @Override public Wikitty restore(String securityToken, String id) { throw new UnsupportedOperationException("Not supported yet."); } Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ExportTask.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ExportTask.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ExportTask.java 2010-06-08 12:51:49 UTC (rev 107) @@ -52,7 +52,7 @@ log.info("Export started"); } ImportExportMethod exporter = format.ieporter(); - exporter.exportWriter(securityToken, writer, ws, pageResult); + exporter.exportWriter(securityToken, writer, ws, transaction, pageResult); if (log.isInfoEnabled()) { time = System.currentTimeMillis() - time; log.info("Export in (ms)" + time); 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-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportCSV.java 2010-06-08 12:51:49 UTC (rev 107) @@ -36,6 +36,7 @@ import org.nuiton.wikitty.Wikitty; import org.nuiton.wikitty.WikittyExtension; import org.nuiton.wikitty.WikittyService; +import org.nuiton.wikitty.WikittyTransaction; import org.nuiton.wikitty.WikittyUtil; import org.nuiton.wikitty.search.Element; import org.nuiton.wikitty.search.Search; @@ -64,7 +65,8 @@ @Override public void importReader(String securityToken, Reader reader, - WikittyService ws, WikittyBatchUpdate batchUpdate) throws Exception { + WikittyService ws, WikittyTransaction transaction, + WikittyBatchUpdate batchUpdate) throws Exception { // get index of wikitty.id field int wikittyIdIndex = -1; @@ -114,7 +116,7 @@ if (StringUtils.isNotEmpty(value)) { // extension must exists on wikitty to set a field value - addMissingExtension(securityToken, ws, currentWikitty, extName); + addMissingExtension(securityToken, ws, transaction, currentWikitty, extName); // convert link values (if necessary) value = convertLinkValues(securityToken, ws, value); @@ -145,18 +147,19 @@ /** * Recusively add missing extension of not exist and required extension too. */ - protected void addMissingExtension(String securityToken, WikittyService ws, Wikitty currentWikitty, String extName) { + protected void addMissingExtension(String securityToken, WikittyService ws, + WikittyTransaction transaction, Wikitty currentWikitty, String extName) { // extension must exists on wikitty to set a field value if (!currentWikitty.hasExtension(extName)) { WikittyExtension extension = ws.restoreExtensionLastVersion( - securityToken, extName); + securityToken, transaction, extName); String requires = extension.getRequires(); if (StringUtils.isNotEmpty(requires)) { // add required extensions BEFORE current for (String require : requires.split(",")) { String localRequire = require.trim(); - addMissingExtension(securityToken, ws, currentWikitty, localRequire); + addMissingExtension(securityToken, ws, transaction, currentWikitty, localRequire); } } @@ -223,7 +226,8 @@ @Override public void exportWriter(String securityToken, Writer writer, - WikittyService ws, PagedResult<Wikitty> pagedResult) throws Exception { + WikittyService ws, WikittyTransaction transaction, + PagedResult<Wikitty> pagedResult) throws Exception { CSVWriter csvWriter = new CSVWriter(writer); @@ -234,7 +238,7 @@ String extName = topic.getTopicName(); WikittyExtension extension = ws.restoreExtensionLastVersion( - securityToken, extName); + securityToken, transaction, extName); String ext = WikittyExtension.computeName(extName); for (String fieldName : extension.getFieldNames()) { extensionHeader.add(ext + "." + fieldName); Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportMethod.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportMethod.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportMethod.java 2010-06-08 12:51:49 UTC (rev 107) @@ -23,6 +23,7 @@ import org.nuiton.wikitty.PagedResult; import org.nuiton.wikitty.Wikitty; import org.nuiton.wikitty.WikittyService; +import org.nuiton.wikitty.WikittyTransaction; /** * Import / export interface. @@ -38,24 +39,30 @@ /** * Import data from reader. * + * @param securityToken security token * @param reader reader * @param ws wikitty service + * @param transaction current transaction * @param batchUpdate wikitty batch update helper * * @throws Exception */ public void importReader(String securityToken, Reader reader, - WikittyService ws, WikittyBatchUpdate batchUpdate) throws Exception; + WikittyService ws, WikittyTransaction transaction, + WikittyBatchUpdate batchUpdate) throws Exception; /** * Export data to writer. * + * @param securityToken security token * @param writer writer * @param ws wikitty service + * @param transaction current transaction * @param pagedResult paged result * * @throws Exception */ public void exportWriter(String securityToken, Writer writer, - WikittyService ws, PagedResult<Wikitty> pagedResult) throws Exception; + WikittyService ws, WikittyTransaction transaction, + PagedResult<Wikitty> pagedResult) throws Exception; } Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportXML.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportXML.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportExportXML.java 2010-06-08 12:51:49 UTC (rev 107) @@ -36,6 +36,7 @@ import org.nuiton.wikitty.WikittyException; import org.nuiton.wikitty.WikittyExtension; import org.nuiton.wikitty.WikittyService; +import org.nuiton.wikitty.WikittyTransaction; import org.nuiton.wikitty.WikittyUtil; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; @@ -55,7 +56,8 @@ @Override public void importReader(String securityToken, Reader reader, - WikittyService ws, WikittyBatchUpdate batchUpdate) throws Exception { + WikittyService ws, WikittyTransaction transaction, + WikittyBatchUpdate batchUpdate) throws Exception { XmlPullParserFactory factory = XmlPullParserFactory.newInstance( System.getProperty(XmlPullParserFactory.PROPERTY_NAME), null); factory.setNamespaceAware(true); @@ -132,7 +134,8 @@ @Override public void exportWriter(String securityToken, Writer result, - WikittyService ws, PagedResult<Wikitty> pagedResult) throws Exception { + WikittyService ws, WikittyTransaction transaction, + PagedResult<Wikitty> pagedResult) throws Exception { // keep extension already done Set<String> extDone = new HashSet<String>(); result.write("<wikengo>\n"); Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportTask.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportTask.java 2010-06-08 08:03:44 UTC (rev 106) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/importexport/ImportTask.java 2010-06-08 12:51:49 UTC (rev 107) @@ -43,7 +43,7 @@ log.info("Import in (ms)" + time); } ImportExportMethod importer = format.ieporter(); - importer.importReader(securityToken, reader, ws, batchUpdate); + importer.importReader(securityToken, reader, ws, transaction, batchUpdate); if (log.isInfoEnabled()) { time = System.currentTimeMillis() - time;
participants (1)
-
echatellier@users.nuiton.org