[jira] [Created] (GEOMETRY-14) AffineTransform?D Classes
Matt Juntunen created GEOMETRY-14: - Summary: AffineTransform?D Classes Key: GEOMETRY-14 URL: https://issues.apache.org/jira/browse/GEOMETRY-14 Project: Apache Commons Geometry Issue Type: New Feature Reporter: Matt Juntunen We should create AffineTransform?D classes that implement matrix-based affine transforms. They should have simple methods for creating translations, rotations, and scaling and calculating the inverse. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEOMETRY-10) Reuse Normalized Vectors
[jira] [Created] (GEOMETRY-13) Move Vector Norm Methods to commons-numbers-arrays
Matt Juntunen created GEOMETRY-13: - Summary: Move Vector Norm Methods to commons-numbers-arrays Key: GEOMETRY-13 URL: https://issues.apache.org/jira/browse/GEOMETRY-13 Project: Apache Commons Geometry Issue Type: Task Reporter: Matt Juntunen The code we have now in the Vectors utility class for computing vector norms should be placed in commons-numbers-arrays and used from there. This should allow for greater re-usability of the code. We should also try to use the SafeNorm class from that module for computing L2 norms. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEOMETRY-9) New Euclidean Vector Methods
[ https://issues.apache.org/jira/browse/GEOMETRY-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16606607#comment-16606607 ] Matt Juntunen commented on GEOMETRY-9: -- Thanks for the feedback. I don't picture it as nit-picking at all since now, when we don't have any BC concerns, is the time to try to get it right. # GeometryException – This sounds good. I'll go ahead and implement a public GeometryException class hierarchy. Do you think this should go in this pull request or another one (perhaps one for GEOMETRY-8)? # Vectors class – I'll move this into an internal package for now and add another issue for moving it into commons-numbers-arrays. # Static vector/point methods – Yeah we can ditch these. It would clean up the API considerably and it's always easier to add something to the API than remove it later on. > New Euclidean Vector Methods > > > Key: GEOMETRY-9 > URL: https://issues.apache.org/jira/browse/GEOMETRY-9 > Project: Apache Commons Geometry > Issue Type: Wish >Reporter: Matt Juntunen >Priority: Minor > > We should add some more methods to the Euclidean vector classes for user > convenience and algorithm clarity. > # length() – more intuitive alias for getNorm() > # project(Vector) – returns the current vector projected onto the given > vector > # static project(Vector, Vector) – static version of project > # reject(Vector) – returns the current vector projected onto the plane whose > normal is passed to the method (vec equals vec.project(v) + vec.reject(v)) > # static reject(Vector, Vector) – static version of reject > # lerp(Vector, double) – linear interpolation between the current vector and > the given one > # static lerp(Vector, Vector, double) – static version of lerp > # withLength(double) – returns the current vector with the given length. > This is equivalent to vector.normalize().scalarMultiply(x) but without the > intermediate vector. > > Pull request: [https://github.com/apache/commons-geometry/pull/8] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] commons-lang pull request #350: Replace FindBugs with SpotBugs
Github user asfgit closed the pull request at: https://github.com/apache/commons-lang/pull/350 ---
[GitHub] commons-lang pull request #354: Convert tests for Validate.isTrue overloads ...
Github user asfgit closed the pull request at: https://github.com/apache/commons-lang/pull/354 ---
[GitHub] commons-lang issue #354: Convert tests for Validate.isTrue overloads to @Nes...
Github user britter commented on the issue: https://github.com/apache/commons-lang/pull/354 Build failure seems to be unrelated. ---
[jira] [Created] (LANG-1419) Restore BundleSymbolicName / regression in version 3.8.0
Philipp Ottlinger created LANG-1419: --- Summary: Restore BundleSymbolicName / regression in version 3.8.0 Key: LANG-1419 URL: https://issues.apache.org/jira/browse/LANG-1419 Project: Commons Lang Issue Type: Bug Components: General Affects Versions: 3.8 Reporter: Philipp Ottlinger In contrast to version 3.7.0 the BundleSymbolicName changed erroneously in 3.8.0 to: {code:java} org.apache.commons.commons-lang3{code} As this breaks existing installations the change should be reverted and a new version with OSGi support should be released. h2. v3.8.0 - MetaData {code:java} Automatic-Module-Name org.apache.commons.lang3 Bnd-LastModified 1534383412565 Build-Jdk 1.8.0_172 Built-By chtompki Bundle-Description Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. Bundle-DocURL http://commons.apache.org/proper/commons-lang/ Bundle-License https://www.apache.org/licenses/LICENSE-2.0.txt Bundle-ManifestVersion 2 Bundle-Name Apache Commons Lang Bundle-SymbolicName org.apache.commons.commons-lang3 Bundle-Vendor The Apache Software Foundation Bundle-Version 3.8.0 Created-By Apache Maven Bundle Plugin Export-Package org.apache.commons.lang3;version="3.8",org.apache.commons.lang3.arch;version="3.8",org.apache.commons.lang3.builder;version="3.8",org.apache.commons.lang3.concurrent;version="3.8",org.apache.commons.lang3.event;version="3.8",org.apache.commons.lang3.exception;version="3.8",org.apache.commons.lang3.math;version="3.8",org.apache.commons.lang3.mutable;version="3.8",org.apache.commons.lang3.reflect;version="3.8",org.apache.commons.lang3.text;version="3.8",org.apache.commons.lang3.text.translate;version="3.8",org.apache.commons.lang3.time;version="3.8",org.apache.commons.lang3.tuple;version="3.8" Implementation-Title Apache Commons Lang Implementation-URL http://commons.apache.org/proper/commons-lang/ Implementation-Vendor The Apache Software Foundation Implementation-Vendor-Id org.apache.commons Implementation-Version 3.8 Include-Resource META-INF/NOTICE.txt=NOTICE.txt,META-INF/LICENSE.txt=LICENSE.txt Manifest-Version 1.0 Require-Capability osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.7))" Specification-Title Apache Commons Lang Specification-Vendor The Apache Software Foundation Specification-Version 3.8 Tool Bnd-3.5.0.201709291849{code} h2. v3.7.0 - MetaData {code:java} Archiver-Version Plexus Archiver Automatic-Module-Name org.apache.commons.lang3 Bnd-LastModified 1509819256170 Build-Jdk 1.7.0_80 Built-By ggregory Bundle-Description Apache Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. Bundle-DocURL http://commons.apache.org/proper/commons-lang/ Bundle-License https://www.apache.org/licenses/LICENSE-2.0.txt Bundle-ManifestVersion 2 Bundle-Name Apache Commons Lang Bundle-SymbolicName org.apache.commons.lang3 Bundle-Vendor The Apache Software Foundation Bundle-Version 3.7.0 Created-By Apache Maven Bundle Plugin Export-Package
[jira] [Commented] (LANG-1410) StringsUtil.isBlank check null first
[ https://issues.apache.org/jira/browse/LANG-1410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16605743#comment-16605743 ] Evaristo commented on LANG-1410: There is minor memory saving with Yifan Guo approach when cs is null, because Java primitives have a default value when assignment is not explicit to a given value int strLen; // This is euqivalent to int strLen = 0; if (cs == null || (strLen = cs.length()) == 0) { return true; } That means that when cs is null variable strLen is using some memory This code saves memory when cs == null if (cs == null) { return true; } int strLen = cs.length(); if ( strLen == 0) { return true; } > StringsUtil.isBlank check null first > > > Key: LANG-1410 > URL: https://issues.apache.org/jira/browse/LANG-1410 > Project: Commons Lang > Issue Type: Improvement > Components: lang.* >Reporter: Yifan Guo >Priority: Minor > > StringsUtil.isBlank should check null for cs first instead of declaring int > strLen first. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEOMETRY-9) New Euclidean Vector Methods
[ https://issues.apache.org/jira/browse/GEOMETRY-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16605740#comment-16605740 ] Gilles commented on GEOMETRY-9: --- Relating my comment on GEOMETRY-10 and this issue's point about the {{Vectors}} utilities, a better approach might be to have the [commons-numbers-arrays| https://git1-us-west.apache.org/repos/asf?p=commons-numbers.git;a=tree;f=commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays;hb=HEAD] module contain implementations of algorithms that rely on common assumptions about a list of {{double}} (or a {{double[]}}). Even more reduction of duplication, and increased robustness through expanded usage. > New Euclidean Vector Methods > > > Key: GEOMETRY-9 > URL: https://issues.apache.org/jira/browse/GEOMETRY-9 > Project: Apache Commons Geometry > Issue Type: Wish >Reporter: Matt Juntunen >Priority: Minor > > We should add some more methods to the Euclidean vector classes for user > convenience and algorithm clarity. > # length() – more intuitive alias for getNorm() > # project(Vector) – returns the current vector projected onto the given > vector > # static project(Vector, Vector) – static version of project > # reject(Vector) – returns the current vector projected onto the plane whose > normal is passed to the method (vec equals vec.project(v) + vec.reject(v)) > # static reject(Vector, Vector) – static version of reject > # lerp(Vector, double) – linear interpolation between the current vector and > the given one > # static lerp(Vector, Vector, double) – static version of lerp > # withLength(double) – returns the current vector with the given length. > This is equivalent to vector.normalize().scalarMultiply(x) but without the > intermediate vector. > > Pull request: [https://github.com/apache/commons-geometry/pull/8] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEOMETRY-10) Reuse Normalized Vectors
[ https://issues.apache.org/jira/browse/GEOMETRY-10?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16605723#comment-16605723 ] Gilles commented on GEOMETRY-10: Implementation of {{normalize()}} in the description does not take [infinities into account|https://git1-us-west.apache.org/repos/asf?p=commons-math.git;a=blob;f=src/main/java/org/apache/commons/math4/util/MathArrays.java;h=0f7046ee0bf83073c18a2928752e6d21c4cf7152;hb=HEAD#l958]. bq. We'll need to verify that this won't introduce any floating point accuracy issues. Perhaps this [implementation|https://git1-us-west.apache.org/repos/asf?p=commons-numbers.git;a=blob;f=commons-numbers-arrays/src/main/java/org/apache/commons/numbers/arrays/SafeNorm.java;h=a04fb4d1a5aef78fb4b10eb8d4d9dea5cff03780;hb=HEAD] should be used (?). > Reuse Normalized Vectors > > > Key: GEOMETRY-10 > URL: https://issues.apache.org/jira/browse/GEOMETRY-10 > Project: Apache Commons Geometry > Issue Type: Improvement >Reporter: Matt Juntunen >Priority: Minor > > The Vector.normalize() method is used quite frequently. We currently always > return a new instance with each method call, but we should be able to reuse > the current instance if it is already normalized. > Ex: > {code:java} > public Vector3D normalize() { >final double normSq = getNormSq(); >if (normSq == 1.0) { > return this; >} >else if (normSq == 0.0) { > throw new IllegalStateException(ZERO_NORM_MSG); >} >return scalarMultiply(1 / Math.sqrt(normSq); > }{code} > We'll need to verify that this won't introduce any floating point accuracy > issues. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEOMETRY-9) New Euclidean Vector Methods
[ https://issues.apache.org/jira/browse/GEOMETRY-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16605712#comment-16605712 ] Gilles commented on GEOMETRY-9: --- bq. GeometryException It seems fine to define a base class for all exceptions for this component {code} public class GeometryException extends RuntimeException { /* ... */ } {code} It's not the route ultimately taken for CM (after many discussions and flip-flop changes), but as long as we stay simple and consistent... The Javadoc of that class should note that the component departs from the JDK nomenclature like e.g. by not using (subclasses of) {{IllegalArgumentException}} for wrong user input. bq. {{Vectors.norm(double, double, double)}} I think that we should avoid having such methods part of the public API as (among other bad things in utility classes) there are hidden assumptions (like: the three {{double}} arguments are Cartesian coordinates) that preclude legitimate overloads. If for now you can't figure out a better way to avoid duplicate code, please let's hide this in an {{internal}} package. bq. using a static method can make code slightly easier to read One could counter-argue that it makes for longer statements... My main reluctance is the sheer size of code duplication since, for consistency, any and all methods that could have a static counterpart should have one. I understand your point about "operator" but as in the post I referred to in the previous comment hints at, there might be some good things in sticking with proper OO syntax. I'd rather keep the API minimal until we've explored how we might leverage Java 8 functionalities (lambda). Sorry if it all looks like nit-picking, but it's really not: Now is the time to try and avoid many of the pitfalls we went through in CM. > New Euclidean Vector Methods > > > Key: GEOMETRY-9 > URL: https://issues.apache.org/jira/browse/GEOMETRY-9 > Project: Apache Commons Geometry > Issue Type: Wish >Reporter: Matt Juntunen >Priority: Minor > > We should add some more methods to the Euclidean vector classes for user > convenience and algorithm clarity. > # length() – more intuitive alias for getNorm() > # project(Vector) – returns the current vector projected onto the given > vector > # static project(Vector, Vector) – static version of project > # reject(Vector) – returns the current vector projected onto the plane whose > normal is passed to the method (vec equals vec.project(v) + vec.reject(v)) > # static reject(Vector, Vector) – static version of reject > # lerp(Vector, double) – linear interpolation between the current vector and > the given one > # static lerp(Vector, Vector, double) – static version of lerp > # withLength(double) – returns the current vector with the given length. > This is equivalent to vector.normalize().scalarMultiply(x) but without the > intermediate vector. > > Pull request: [https://github.com/apache/commons-geometry/pull/8] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[GitHub] commons-lang issue #354: Convert tests for Validate.isTrue overloads to @Nes...
Github user britter commented on the issue: https://github.com/apache/commons-lang/pull/354 Okay, as there is positive feedback for this change, I'm going to migrate the whole `ValidateTest` to this style and then merge it ð ---
[GitHub] commons-lang pull request #355: Use @ParameterizedTest to iterate over avail...
Github user asfgit closed the pull request at: https://github.com/apache/commons-lang/pull/355 ---
[GitHub] commons-lang issue #355: Use @ParameterizedTest to iterate over available lo...
Github user britter commented on the issue: https://github.com/apache/commons-lang/pull/355 I'm going to reach out to the JUnit maintainers to find out whether we can even inject zone values via parameter source. ---
[jira] [Created] (COMMONSSITE-124) Revert change in commons.scmPubUrl in Parent 47
Benedikt Ritter created COMMONSSITE-124: --- Summary: Revert change in commons.scmPubUrl in Parent 47 Key: COMMONSSITE-124 URL: https://issues.apache.org/jira/browse/COMMONSSITE-124 Project: Commons All Issue Type: Improvement Components: Commons Parent Pom Reporter: Benedikt Ritter As pointed out by Stefan this change to commons.scmPubUrl: [http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk/pom.xml?r1=1831599=1832339] broke multiple component site builds. At least the site builds for Commons Compress, Commons Lang and Commons CSV do not work anymore. We should revert this change. For more details see: https://lists.apache.org/thread.html/304129bf7d25a2118ee3f324214c04e1e8f0846e7ee43a57b100a26e@%3Cdev.commons.apache.org%3E -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Closed] (DBCP-520) BasicManagedDataSource needs to pass the TSR with creating DataSourceXAConnectionFactory
[ https://issues.apache.org/jira/browse/DBCP-520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zheng Feng closed DBCP-520. --- > BasicManagedDataSource needs to pass the TSR with creating > DataSourceXAConnectionFactory > > > Key: DBCP-520 > URL: https://issues.apache.org/jira/browse/DBCP-520 > Project: Commons DBCP > Issue Type: Improvement >Affects Versions: 2.5.0 >Reporter: Zheng Feng >Priority: Major > Fix For: 2.6.0 > > > As the TransactionSynchronizationRegistry has been introduced in the 2.5.0, > it needs to pass the transactionSynchronizationRegistry to create the > DataSourceXAConnectionFactory. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (LANG-1418) Incorrect Javadoc for StringUtils.isAnyBlank(null)
[ https://issues.apache.org/jira/browse/LANG-1418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrei updated LANG-1418: - Description: As of [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#isAnyBlank-java.lang.CharSequence...-] isAnyBlank((String) null) -> true But test isAnyBlank((String) null) -> false. As the result incorrect description for the other methods that used isAnyBlank was: As of [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#isAnyBlank-java.lang.CharSequence...-] isAnyBlank((String) null) -> true But test isAnyBlank((String) null) -> false. > Incorrect Javadoc for StringUtils.isAnyBlank(null) > -- > > Key: LANG-1418 > URL: https://issues.apache.org/jira/browse/LANG-1418 > Project: Commons Lang > Issue Type: Bug > Components: lang.* >Affects Versions: 3.8 >Reporter: Andrei >Priority: Major > Attachments: apache-common.isAnyBlank(null).png > > > As of > [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#isAnyBlank-java.lang.CharSequence...-] > isAnyBlank((String) null) -> true > But test isAnyBlank((String) null) -> false. > As the result incorrect description for the other methods that used isAnyBlank -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (LANG-1418) Incorrect Javadoc for StringUtils.isAnyBlank(null)
Andrei created LANG-1418: Summary: Incorrect Javadoc for StringUtils.isAnyBlank(null) Key: LANG-1418 URL: https://issues.apache.org/jira/browse/LANG-1418 Project: Commons Lang Issue Type: Bug Components: lang.* Affects Versions: 3.8 Reporter: Andrei Attachments: apache-common.isAnyBlank(null).png As of [https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#isAnyBlank-java.lang.CharSequence...-] isAnyBlank((String) null) -> true But test isAnyBlank((String) null) -> false. -- This message was sent by Atlassian JIRA (v7.6.3#76005)