You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by GitBox <gi...@apache.org> on 2022/08/04 04:07:45 UTC

[GitHub] [jspwiki] dependabot[bot] opened a new pull request, #221: Bump selenide from 6.6.6 to 6.7.0

dependabot[bot] opened a new pull request, #221:
URL: https://github.com/apache/jspwiki/pull/221

   Bumps [selenide](https://github.com/selenide/selenide) from 6.6.6 to 6.7.0.
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a href="https://github.com/selenide/selenide/releases">selenide's releases</a>.</em></p>
   <blockquote>
   <h2>v6.7.0</h2>
   <h2>Changes</h2>
   <ul>
   <li><a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> verify the whole text in <code>$.shouldHave(text)</code>, not a substring (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1783">#1783</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li><a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1886">#1886</a> decode downloaded file name if it's base64-encoded (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1889">#1889</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li>give user a clear hint if he occasionally passes an invalid file extension parameter (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1887">#1887</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li>restore IE support in setValue (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1907">#1907</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li><a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1885">#1885</a> make type of setValue() parameter String again (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1888">#1888</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   </ul>
   <h2>🚀 Features</h2>
   <ul>
   <li><a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1799">#1799</a> implement full-size screenshots as a separate Selenide plugin (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1858">#1858</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li><a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1891">#1891</a> deprecate TestNG annotation <a href="https://github.com/Report"><code>@​Report</code></a> (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1909">#1909</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li>add cachelookup annotation support (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1894">#1894</a>) <a href="https://github.com/groov1kk"><code>@​groov1kk</code></a></li>
   <li>make HttpClientTimeouts public (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1902">#1902</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   </ul>
   <h2>📦 Dependency updates</h2>
   <ul>
   <li>Bump byteBuddyVersion from 1.12.12 to 1.12.13 (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1904">#1904</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
   <li>Bump webdrivermanager from 5.2.1 to 5.2.2 (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1901">#1901</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
   <li>upgrade to JUnit 5.9.0 (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1900">#1900</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li>upgrade-to-littleproxy-2.0.10 (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1896">#1896</a>) <a href="https://github.com/asolntsev"><code>@​asolntsev</code></a></li>
   <li>Bump browserup-proxy-core from 2.2.0 to 2.2.1 (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1895">#1895</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
   <li>Bump nettyVersion from 4.1.78.Final to 4.1.79.Final (<a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1892">#1892</a>) <a href="https://github.com/dependabot"><code>@​dependabot</code></a></li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a href="https://github.com/selenide/selenide/blob/master/CHANGELOG.md">selenide's changelog</a>.</em></p>
   <blockquote>
   <h2>6.7.0 (released 04.08.2022)</h2>
   <p><a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> verify the whole text in <code>$.shouldHave(text)</code>, not a substring  --  see PR <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1783">#1783</a>
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1799">#1799</a> implement full-size screenshots as a separate Selenide plugin  --  see PR <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1858">#1858</a>; thanks to Aliaksandr Rasolka for PR <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1800">#1800</a>
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1894">#1894</a> add <a href="https://github.com/CacheLookup"><code>@​CacheLookup</code></a> annotation support  --  thanks to <a href="https://github.com/groov1kk">Ilya Koshaleu</a>
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1891">#1891</a> deprecate TestNG annotation <a href="https://github.com/Report"><code>@​Report</code></a>  --  see PR <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1909">#1909</a>
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1886">#1886</a> decode downloaded file name if it's base64-encoded  --  see PR <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1889">#1889</a>
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1907">#1907</a> restore IE support in setValue
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1902">#1902</a> make HttpClientTimeouts public
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1885">#1885</a> make type of setValue() parameter String again  --  see PR <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1888">#1888</a>
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1887">#1887</a> give user a clear hint in case of invalid file extension parameter
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1904">#1904</a> bump byteBuddyVersion from 1.12.12 to 1.12.13
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1901">#1901</a> bump webdrivermanager from 5.2.1 to 5.2.3
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1900">#1900</a> bump JUnit from 5.8.2 to 5.9.0
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1896">#1896</a> bump LittleProxy from 2.0.9 to 2.0.10
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1895">#1895</a> bump browserup-proxy-core from 2.2.0 to 2.2.1
   <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1892">#1892</a> bump nettyVersion from 4.1.78.Final to 4.1.79.Final</p>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a href="https://github.com/selenide/selenide/commit/8c699632bd862aeb2c7b1e6ea0c149225e7c4ab2"><code>8c69963</code></a> release Selenide 6.7.0</li>
   <li><a href="https://github.com/selenide/selenide/commit/ac0a54edfbf80131ce860fed1cf069ee0d6f3d49"><code>ac0a54e</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> use PARTIAL_TEXT by default</li>
   <li><a href="https://github.com/selenide/selenide/commit/3f4b38d3aa8029b81c8ab6552f3b3ab21e047aba"><code>3f4b38d</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> fix flaky test</li>
   <li><a href="https://github.com/selenide/selenide/commit/4d860fe84d7269387ed40126eb330fc0ec743024"><code>4d860fe</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> extract duplicate code to a superclass CaseInsensitiveTextCondition</li>
   <li><a href="https://github.com/selenide/selenide/commit/231e7a07a7c1df58d5aab3b26bdeb84d9933afc2"><code>231e7a0</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> avoid duplicate calls to toLowerCase()</li>
   <li><a href="https://github.com/selenide/selenide/commit/66bb1b67b5360b97af4b677bf2b168010ec0da44"><code>66bb1b6</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> extract duplicate code to a superclass CaseSensitiveTextCondition</li>
   <li><a href="https://github.com/selenide/selenide/commit/c941d763080a059aeb77a65a6f5176365d47c3c1"><code>c941d76</code></a> fix flaky test: set pageLoadTimeout AFTER loading the page</li>
   <li><a href="https://github.com/selenide/selenide/commit/27e45c1f70dc458ecad17adfe9166e54b2628a83"><code>27e45c1</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1696">#1696</a> use <code>toLowerCase(Locale.ROOT)</code> instead of <code>toLowerCase()</code></li>
   <li><a href="https://github.com/selenide/selenide/commit/6d088a85fd97cde0fec4548e638d6fe1b6798057"><code>6d088a8</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> fix flaky tests in Edge</li>
   <li><a href="https://github.com/selenide/selenide/commit/bbd93c1f74f801790f79e7717baf986d3ea6b7e0"><code>bbd93c1</code></a> <a href="https://github-redirect.dependabot.com/selenide/selenide/issues/1780">#1780</a> add check <code>$.shouldHave(partialText)</code> for checking a substring</li>
   <li>Additional commits viewable in <a href="https://github.com/selenide/selenide/compare/v6.6.6...v6.7.0">compare view</a></li>
   </ul>
   </details>
   <br />
   
   
   [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.codeborne:selenide&package-manager=maven&previous-version=6.6.6&new-version=6.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   <details>
   <summary>Dependabot commands and options</summary>
   <br />
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
   - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
   
   
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jspwiki.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: LinkParsingOperations improvements?

Posted by Murray Altheim <mu...@altheim.com>.
On 2022/08/05 8:53, Juan Pablo Santos Rodríguez wrote:
> Hi Murray,
> 
> (apologies for the brevity, is really late in here, and won't be
> having too much time next few days..)

Hi Juan Pablo,

No worries, my time is pretty limited lately as well. Thanks very much
for the explanation, I certainly understand refactorings. I myself don't
have any issues with static methods, and on a massive refactoring job I
did a few years ago (something like 30 modules), I ended up creating a
lot of utility classes composed solely of static methods, as the devs
over the years had ended up creating multiple copies of various functions,
etc. and I was essentially collecting all of them into classes categorised
for area of function. Testing wasn't too bad, but of course we already had
unit, integration and system tests for a lot of the features already.

I've been playing with ideas for the graph-based reference manager, have
even been experimenting with some visualisations of wiki links using the
JUNG and JunGraphT libraries:

   http://jung.sourceforge.net/index.html
   https://tomnelson.github.io/jungrapht-visualization/

As something gets closer to reality I'll post links to some of the
generated images. The visualisations are more of a curiosity than something
that would be functional for a working wiki, but are helping me understand
what is actually happening in the GraphReferenceManager as I go along.

Cheers,

Murray

...........................................................................
Murray Altheim <murray18 at altheim dot com>                       = =  ===
http://www.altheim.com/murray/                                     ===  ===
                                                                    = =  ===
     In the evening
     The rice leaves in the garden
     Rustle in the autumn wind
     That blows through my reed hut.
            -- Minamoto no Tsunenobu


Re: LinkParsingOperations improvements?

Posted by Juan Pablo Santos Rodríguez <ju...@gmail.com>.
Hi Murray,

(apologies for the brevity, is really late in here, and won't be
having too much time next few days..)

I extracted the LinkParserOperations to be able to reuse it when
developing other parsers; f.ex., you can see it also at the
MarkdownParser [#1], and at the LinkTag custom tag [#2] or inside the
LinkParser class [#3]. At the time of extracting the operations I went
with the Context b/c I didn't knew if I was to need something other
than the Engine, so going with the Context made more sense to me. In
order to not break other code using it (if ti exists at all), we could
overload those methods so they could also receive an Engine? As for
the StartingComparator, it's a private static class, so it's only used
inside the LinkParserOperations. Probably it was a private static lass
inside the JSPWikiMarkupParser, but moved with the
LinkParserOperations class when it was extracted. Agree with the
linkExists/linkIfExists refactor, don't remember why I didn't that on
the first place :-?

As for making it static, the objects should be freed as soon as you
exit from the block they're created, so garbage collection-wise, they
shouldn't impact on the application. Usually I'm not a big fan of
static methods, as they're usually harder to test.. not in this case,
but usually. Not knowing how would the class take shape, I went the
safe way with creating a new object, and then left it that way once it
was done: memory footprint should also be neligible, so making it
static seemed to me like making only for the sake of it, so I didn't
bother too much then.

Hope this makes a bit clearer the intent of that class :-)

best regards,
juan pablo

[#1]: https://github.com/apache/jspwiki/blob/2.11.3/jspwiki-markdown/src/main/java/org/apache/wiki/markdown/extensions/jspwikilinks/attributeprovider/ExternalLinkAttributeProviderState.java#L63
[#2]: https://github.com/apache/jspwiki/blob/2.11.3/jspwiki-main/src/main/java/org/apache/wiki/tags/LinkTag.java#L192
[#3]: https://github.com/apache/jspwiki/blob/2.11.3/jspwiki-main/src/main/java/org/apache/wiki/parser/LinkParser.java#L473

On Thu, Aug 4, 2022 at 1:19 PM Murray Altheim <mu...@altheim.com> wrote:
>
> Hi,
>
> As I've been digging around in the code related to the ReferenceManager,
> I found a curiosity.
>
> I'm not sure of the history surrounding LinkParsingOperations, but it
> seems that we create an instance for every WikiContext, despite the
> fact that both of the two methods that use it actually use it just to
> obtain the WikiEngine. The other eight methods could be static, and
> there's a StartingComparator inner static class that's not actually
> used anywhere else in code so it could be removed (so far as I can see).
>
> The linkIfExists(String) and linkExists(String) methods both do almost
> the same thing, so in theory the latter could simply call the former to
> obtain its boolean result.
>
> Since all the places where these two methods are called (all are within
> JSPWikiMarkupParser) have access to the WikiEngine it could be passed
> in as an argument, and therefore all of the methods of the
> LinkParsingOperations could be made static and turn this into a static
> utility class.
>
> There's clearly no urgency for this but it does seem like we could reduce
> the number of objects created by adopting the above suggestions.
>
> Cheers,
>
> Murray
>
> ...........................................................................
> Murray Altheim <murray18 at altheim dot com>                       = =  ===
> http://www.altheim.com/murray/                                     ===  ===
>                                                                     = =  ===
>      In the evening
>      The rice leaves in the garden
>      Rustle in the autumn wind
>      That blows through my reed hut.
>             -- Minamoto no Tsunenobu
>

LinkParsingOperations improvements?

Posted by Murray Altheim <mu...@altheim.com>.
Hi,

As I've been digging around in the code related to the ReferenceManager,
I found a curiosity.

I'm not sure of the history surrounding LinkParsingOperations, but it
seems that we create an instance for every WikiContext, despite the
fact that both of the two methods that use it actually use it just to
obtain the WikiEngine. The other eight methods could be static, and
there's a StartingComparator inner static class that's not actually
used anywhere else in code so it could be removed (so far as I can see).

The linkIfExists(String) and linkExists(String) methods both do almost
the same thing, so in theory the latter could simply call the former to
obtain its boolean result.

Since all the places where these two methods are called (all are within
JSPWikiMarkupParser) have access to the WikiEngine it could be passed
in as an argument, and therefore all of the methods of the
LinkParsingOperations could be made static and turn this into a static
utility class.

There's clearly no urgency for this but it does seem like we could reduce
the number of objects created by adopting the above suggestions.

Cheers,

Murray

...........................................................................
Murray Altheim <murray18 at altheim dot com>                       = =  ===
http://www.altheim.com/murray/                                     ===  ===
                                                                    = =  ===
     In the evening
     The rice leaves in the garden
     Rustle in the autumn wind
     That blows through my reed hut.
            -- Minamoto no Tsunenobu


[GitHub] [jspwiki] dependabot[bot] commented on pull request #221: Bump selenide from 6.6.6 to 6.7.0

Posted by GitBox <gi...@apache.org>.
dependabot[bot] commented on PR #221:
URL: https://github.com/apache/jspwiki/pull/221#issuecomment-1207645607

   Superseded by #222.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jspwiki.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [jspwiki] dependabot[bot] closed pull request #221: Bump selenide from 6.6.6 to 6.7.0

Posted by GitBox <gi...@apache.org>.
dependabot[bot] closed pull request #221: Bump selenide from 6.6.6 to 6.7.0
URL: https://github.com/apache/jspwiki/pull/221


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@jspwiki.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org