[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