[dokujclient] 01/04: Imported Upstream version 3.9.0

Guillaume Turri gturri-guest at moszumanska.debian.org
Mon Jul 18 17:54:58 UTC 2016


This is an automated email from the git hooks/post-receive script.

gturri-guest pushed a commit to annotated tag debian/3.9.0-1
in repository dokujclient.

commit a7af11476c70c9d87593aae506854fb67e510b79
Author: Guillaume Turri <guillaume.turri at gmail.com>
Date:   Mon Jul 18 00:29:37 2016 +0200

    Imported Upstream version 3.9.0
---
 Changelog                                          |  2 ++
 NOTICE.txt                                         |  2 +-
 README.md                                          |  3 ++-
 pom.xml                                            |  4 ++--
 src/main/java/dw/xmlrpc/Attacher.java              |  2 --
 src/main/java/dw/xmlrpc/CoreClientFactory.java     | 22 +++++++++---------
 src/main/java/dw/xmlrpc/DokuJClient.java           | 19 ++++++++++++----
 .../dw/cli/commands/itest/Test_LinksLister.java    |  2 +-
 .../commands/itest/Test_PageVersionsGetter.java    | 10 ++-------
 src/test/java/dw/cli/itest/TestHelper.java         |  2 +-
 src/test/java/dw/cli/utest/Test_PagePutter.java    |  7 +++---
 src/test/java/dw/xmlrpc/itest/TestParams.java      |  1 +
 .../java/dw/xmlrpc/itest/Test_XmlRpcQueries.java   | 26 ++++++++++++++++++++++
 src/test/resources/installTestEnvironment.sh       |  2 +-
 14 files changed, 68 insertions(+), 36 deletions(-)

diff --git a/Changelog b/Changelog
index 4c0c232..149f14a 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,5 @@
+* Fix getPageVersions when a non 0 offset is provided
+
 3.8.1
 * Add --debug option in man page
 
diff --git a/NOTICE.txt b/NOTICE.txt
index 9e026dd..263640e 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -4,7 +4,7 @@
 =========================================================================
 
 DokuJClient
-Copyright 2012-2015 Guillaume Turri <guillaume.turri at gmail.com>
+Copyright 2012-2016 Guillaume Turri <guillaume.turri at gmail.com>
 
 #########################################################################
 ## DokuJClient DEPENDENCIES                                            ##
diff --git a/README.md b/README.md
index 7bf1c92..e5a2e9f 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@ and a Java library for [Dokuwiki xmlrpc interface](https://www.dokuwiki.org/deve
 which is also compatible with Android.
 
 Currently tested with:
+* Elenor of Tsort (dokuwiki-2016-06-26)
 * Detritus        (dokuwiki-2015-08-10)
 * Hrun            (dokuwiki-2014-09-29)
 * Ponder Stibbons (dokuwiki-2014-05-05)
@@ -114,7 +115,7 @@ JAR files are available via [Maven Central](http://repo1.maven.org/maven2/fr/tur
 <dependency>
     <groupId>fr.turri</groupId>
     <artifactId>dokujclient</artifactId>
-    <version>3.6.0</version>
+    <version>3.8.0</version>
 </dependency>
 ```
 
diff --git a/pom.xml b/pom.xml
index 1b67445..3a41052 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <groupId>fr.turri</groupId>
   <artifactId>dokujclient</artifactId>
   <packaging>jar</packaging>
-  <version>3.8.1</version>
+  <version>3.9.0</version>
   <name>${project.groupId}:${project.artifactId}</name>
   <description>Library to use the xmlrpc interface of Dokuwiki</description>
   <url>http://turri.fr/dokujclient</url>
@@ -24,7 +24,7 @@
     <connection>scm:git:https://github.com/gturri/dokuJClient.git</connection>
     <developerConnection>scm:git:git at github.com:gturri/dokuJClient.git</developerConnection>
     <url>https://github.com/gturri/DokuJClient</url>
-    <tag>dokujclient-3.8.0</tag>
+    <tag>dokujclient-3.9.0</tag>
   </scm>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/src/main/java/dw/xmlrpc/Attacher.java b/src/main/java/dw/xmlrpc/Attacher.java
index feea055..7a33cd3 100644
--- a/src/main/java/dw/xmlrpc/Attacher.java
+++ b/src/main/java/dw/xmlrpc/Attacher.java
@@ -10,8 +10,6 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-//import javax.xml.bind.DatatypeConverter;
-
 
 import de.timroes.base64.Base64;
 import dw.xmlrpc.exception.DokuException;
diff --git a/src/main/java/dw/xmlrpc/CoreClientFactory.java b/src/main/java/dw/xmlrpc/CoreClientFactory.java
index c5e8d5b..965b290 100644
--- a/src/main/java/dw/xmlrpc/CoreClientFactory.java
+++ b/src/main/java/dw/xmlrpc/CoreClientFactory.java
@@ -6,32 +6,32 @@ import java.net.URL;
 import de.timroes.axmlrpc.XMLRPCClient;
 
 class CoreClientFactory {
-	public static CoreClient Build(String url) throws MalformedURLException{
-		return Build(url, DokuJClientConfig.defaultUserAgent);
+	public static CoreClient build(String url) throws MalformedURLException{
+		return build(url, DokuJClientConfig.defaultUserAgent);
 	}
 
-	public static CoreClient Build(String url, String userAgent) throws MalformedURLException{
-		return Build(new URL(url), userAgent);
+	public static CoreClient build(String url, String userAgent) throws MalformedURLException{
+		return build(new URL(url), userAgent);
 	}
 
-	public static CoreClient Build(DokuJClientConfig dokuConfig){
+	public static CoreClient build(DokuJClientConfig dokuConfig){
 		int xmlRpcClientFlags = dokuConfig.getDebug()
 				? dokuConfig.xmlRpcClientFlags() | XMLRPCClient.FLAGS_DEBUG
 				: dokuConfig.xmlRpcClientFlags();
-		return Build(dokuConfig.url(), dokuConfig.userAgent(), dokuConfig.timeoutInSeconds(), xmlRpcClientFlags);
+		return build(dokuConfig.url(), dokuConfig.userAgent(), dokuConfig.timeoutInSeconds(), xmlRpcClientFlags);
 	}
 
-	public static CoreClient Build(URL url, String userAgent) {
-		return Build(url, userAgent, DokuJClientConfig.defaultTimeoutInSeconds, DokuJClientConfig.defaultXMLRPCClientFlags);
+	public static CoreClient build(URL url, String userAgent) {
+		return build(url, userAgent, DokuJClientConfig.defaultTimeoutInSeconds, DokuJClientConfig.defaultXMLRPCClientFlags);
 	}
 
-	public static CoreClient Build(URL url, String userAgent, int timeoutInSeconds, int xMLRPCClientFlags) {
+	public static CoreClient build(URL url, String userAgent, int timeoutInSeconds, int xMLRPCClientFlags) {
 		XMLRPCClient xmlRpcClient = new XMLRPCClient(url, userAgent, xMLRPCClientFlags);
 		xmlRpcClient.setTimeout(timeoutInSeconds);
-		return Build(xmlRpcClient);
+		return build(xmlRpcClient);
 	}
 
-	public static CoreClient Build(XMLRPCClient xmlRpcClient){
+	public static CoreClient build(XMLRPCClient xmlRpcClient){
 		return new CoreClient(xmlRpcClient);
 	}
 }
diff --git a/src/main/java/dw/xmlrpc/DokuJClient.java b/src/main/java/dw/xmlrpc/DokuJClient.java
index 53af867..f6ed1c5 100644
--- a/src/main/java/dw/xmlrpc/DokuJClient.java
+++ b/src/main/java/dw/xmlrpc/DokuJClient.java
@@ -4,6 +4,7 @@ import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -71,11 +72,11 @@ public class DokuJClient {
 	 * @throws MalformedURLException
 	 */
 	public DokuJClient(String url) throws MalformedURLException{
-		this(CoreClientFactory.Build(url));
+		this(CoreClientFactory.build(url));
 	}
 
     public DokuJClient(DokuJClientConfig dokuConfig) throws DokuException{
-    	this(CoreClientFactory.Build(dokuConfig));
+    	this(CoreClientFactory.build(dokuConfig));
     	if ( dokuConfig.user() != null){
     		loginWithRetry(dokuConfig.user(), dokuConfig.password(), 2);
     	}
@@ -290,9 +291,19 @@ public class DokuJClient {
 	 * @throws DokuException
 	 */
 	public List<PageVersion> getPageVersions(String pageId, Integer offset) throws DokuException {
+		boolean useFixForLegacyWiki = false;
+		if ( offset > 0 ){
+			if ( getXMLRPCAPIVersion() < 10 ){
+				useFixForLegacyWiki = true;
+				offset--;
+			}
+		}
 		Object[] params = new Object[]{pageId, offset};
-		Object result = genericQuery("wiki.getPageVersions", params);
-		return ObjectConverter.toPageVersion((Object[]) result, pageId);
+		Object[] result = (Object[]) genericQuery("wiki.getPageVersions", params);
+		if ( useFixForLegacyWiki && result.length > 1 ){
+			result = Arrays.copyOfRange(result, 1, result.length);
+		}
+		return ObjectConverter.toPageVersion(result, pageId);
 	}
 
 	/**
diff --git a/src/test/java/dw/cli/commands/itest/Test_LinksLister.java b/src/test/java/dw/cli/commands/itest/Test_LinksLister.java
index 749a02e..b32e61a 100644
--- a/src/test/java/dw/cli/commands/itest/Test_LinksLister.java
+++ b/src/test/java/dw/cli/commands/itest/Test_LinksLister.java
@@ -15,7 +15,7 @@ public class Test_LinksLister extends TestHelper{
 	public void listLinksWithLongFormat() throws Exception {
 		String expected = "extern http://dokuwiki.org http://dokuwiki.org"
 				+ "\nextern http://github.com/gturri http://github.com/gturri"
-				+ "\nlocal ns1:dummy /dokuwikiITestsForXmlRpcClient_dokuwiki-2013-12-08/doku.php?id=ns1:dummy";
+				+ "\nlocal ns1:dummy /dokuwikiITestsForXmlRpcClient_dokuwiki-2016-06-26/doku.php?id=ns1:dummy";
 
 		assertSuccess(expected, runWithArguments("listLinks", "-l", "links:start"));
 	}
diff --git a/src/test/java/dw/cli/commands/itest/Test_PageVersionsGetter.java b/src/test/java/dw/cli/commands/itest/Test_PageVersionsGetter.java
index eaa9313..e0f2d32 100644
--- a/src/test/java/dw/cli/commands/itest/Test_PageVersionsGetter.java
+++ b/src/test/java/dw/cli/commands/itest/Test_PageVersionsGetter.java
@@ -5,14 +5,8 @@ import dw.cli.itest.TestHelper;
 public class Test_PageVersionsGetter extends TestHelper {
 	@org.junit.Test
 	public void getPageVersionsWithExplicitOffset() throws Exception{
-		//Might seems counter-intuitive since we could expect the same output as the other test
-		//with just one line removed
-		//
-		//In fact:
-		// * since provide "--offset 1", we skip the "last non current" revision (ie:  "fifi - edit 1")
-		// * since we provide a non zero offset, the current revision isn't added (ie: "lulu - edit 2")
-		//hence, only one line remains
-		String expected = "rev:start 1356218400 127.0.0.1 C riri - created";
+		String expected = "rev:start 1356218411 127.0.0.1 E fifi - edit 1"
+				+ "\nrev:start 1356218400 127.0.0.1 C riri - created";
 
 		assertSuccess(expected, runWithArguments("getPageVersions", "rev:start", "--offset", "1"));
 	}
diff --git a/src/test/java/dw/cli/itest/TestHelper.java b/src/test/java/dw/cli/itest/TestHelper.java
index 2e7047c..2b022cb 100644
--- a/src/test/java/dw/cli/itest/TestHelper.java
+++ b/src/test/java/dw/cli/itest/TestHelper.java
@@ -13,7 +13,7 @@ import dw.cli.Program;
 import dw.xmlrpc.itest.TestParams;
 
 public class TestHelper {
-	protected final TestParams  params = new TestParams("dokuwiki-2013-12-08", "Release 2013-12-08 \"Binky\"", 8, 2);
+	protected final TestParams  params = new TestParams("dokuwiki-2016-06-26", "Release 2016-06-26 \"Elenor of Tsort\"", 10, 2);
 
 	protected final String dateRegex = "[A-Za-z]{3} [A-Za-z]{3} [0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} [A-Z]{3}? [0-9]{4}";
 
diff --git a/src/test/java/dw/cli/utest/Test_PagePutter.java b/src/test/java/dw/cli/utest/Test_PagePutter.java
index c58bcc5..d55d3d8 100644
--- a/src/test/java/dw/cli/utest/Test_PagePutter.java
+++ b/src/test/java/dw/cli/utest/Test_PagePutter.java
@@ -14,7 +14,6 @@ import dw.cli.commands.PagePutter;
 import dw.xmlrpc.DokuJClient;
 
 public class Test_PagePutter {
-	private StdinReader _mockStdinReader;
 	private DokuJClient _mockDokuJClient;
 	private PagePutter _sut;
 
@@ -24,11 +23,11 @@ public class Test_PagePutter {
 
 	@org.junit.Before
 	public void before() throws IOException{
-		_mockStdinReader = mock(StdinReader.class);
+		StdinReader mockStdinReader = mock(StdinReader.class);
 		_mockDokuJClient = mock(DokuJClient.class);
-		when(_mockStdinReader.readStdin()).thenReturn(TEXT_ON_STDIN);
+		when(mockStdinReader.readStdin()).thenReturn(TEXT_ON_STDIN);
 
-		_sut = new PagePutter(false, _mockStdinReader);
+		_sut = new PagePutter(false, mockStdinReader);
 	}
 
 	@org.junit.Test
diff --git a/src/test/java/dw/xmlrpc/itest/TestParams.java b/src/test/java/dw/xmlrpc/itest/TestParams.java
index 7e67fad..6dcf1ec 100644
--- a/src/test/java/dw/xmlrpc/itest/TestParams.java
+++ b/src/test/java/dw/xmlrpc/itest/TestParams.java
@@ -50,6 +50,7 @@ public class TestParams {
 		 result.add(new Object[]{new TestParams("dokuwiki-2014-05-05", "Release 2014-05-05 \"Ponder Stibbons\"", 9, 2)});
 		 result.add(new Object[]{new TestParams("dokuwiki-2014-09-29a", "Release 2014-09-29a \"Hrun\"", 9, 2)});
 		 result.add(new Object[]{new TestParams("dokuwiki-2015-08-10a", "Release 2015-08-10a \"Detritus\"", 9, 2)});
+		 result.add(new Object[]{new TestParams("dokuwiki-2016-06-26", "Release 2016-06-26 \"Elenor of Tsort\"", 10, 2)});
 		 return result;
 	}
 }
diff --git a/src/test/java/dw/xmlrpc/itest/Test_XmlRpcQueries.java b/src/test/java/dw/xmlrpc/itest/Test_XmlRpcQueries.java
index 06beb1a..f89dd92 100644
--- a/src/test/java/dw/xmlrpc/itest/Test_XmlRpcQueries.java
+++ b/src/test/java/dw/xmlrpc/itest/Test_XmlRpcQueries.java
@@ -101,6 +101,32 @@ public class Test_XmlRpcQueries extends TestHelper {
 	}
 
 	@org.junit.Test
+	public void getPageVersionsWithOffset() throws Exception{
+		String pageId = "rev:start";
+		List<PageVersion> versions1 = _client.getPageVersions(pageId, 1);
+		PageVersion version1 = versions1.get(0);
+
+		assertEquals((Integer) 1356218411, version1.version());
+		assertEquals(pageId, version1.pageId());
+		assertEquals("127.0.0.1", version1.ip());
+		assertEquals("E", version1.type());
+		assertEquals("fifi", version1.author());
+		assertEquals("edit 1", version1.summary());
+		assertDatesNear(2012, 11, 22, 23, 20, 19, version1.modified());
+
+		List<PageVersion> versions2 = _client.getPageVersions(pageId, 2);
+		PageVersion version2 = versions2.get(0);
+
+		assertEquals((Integer) 1356218400, version2.version());
+		assertEquals(pageId, version2.pageId());
+		assertEquals("127.0.0.1", version2.ip());
+		assertEquals("C", version2.type());
+		assertEquals("riri", version2.author());
+		assertEquals("created", version2.summary());
+		assertDatesNear(2012, 11, 22, 23, 20, 19, version2.modified());
+	}
+
+	@org.junit.Test
 	public void getPageVersion() throws Exception {
 		String pageId = "rev:start";
 		assertEquals("version 1", _client.getPageVersion(pageId, 1356218400));
diff --git a/src/test/resources/installTestEnvironment.sh b/src/test/resources/installTestEnvironment.sh
index b3bea3f..dec41d6 100755
--- a/src/test/resources/installTestEnvironment.sh
+++ b/src/test/resources/installTestEnvironment.sh
@@ -8,7 +8,7 @@ serverFileSystemOwner=www-data
 baseUrl=http://localhost
 dirNamePrefix=dokuwikiITestsForXmlRpcClient_
 
-dwVersions="dokuwiki-2013-05-10 dokuwiki-2012-10-13 dokuwiki-2012-01-25b dokuwiki-2013-12-08 dokuwiki-2014-05-05 dokuwiki-2014-09-29a dokuwiki-2015-08-10a"
+dwVersions="dokuwiki-2013-05-10 dokuwiki-2012-10-13 dokuwiki-2012-01-25b dokuwiki-2013-12-08 dokuwiki-2014-05-05 dokuwiki-2014-09-29a dokuwiki-2015-08-10a dokuwiki-2016-06-26"
 installDir=tmpForInstallation
 relativeTestFileDir=testEnvironment
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/dokujclient.git



More information about the pkg-java-commits mailing list