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 <[email protected]> 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 <[email protected]> +Copyright 2012-2016 Guillaume Turri <[email protected]> ######################################################################### ## 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:[email protected]: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 _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

