[
https://issues.jboss.org/browse/FORGE-2230?page=com.atlassian.jira.plugin...
]
George Gastaldi commented on FORGE-2230:
----------------------------------------
How much slow is it? Will it severely impact performance? I don't think this is really
an issue because we'll be
1) Avoiding unnecessary NullPointerExceptions: (Eg:
{{coordinate.getPackaging().matches("?ar")}});
2) Promoting better code legibility (Eg: {{packaging.isEmpty()}} is better read than
{{packaging != null}})
I am still not convinced we should return null, but an empty String instead.
IMHO, statements like {{coordinate.setPackaging(null)}} should throw an
{{IllegalArgumentException}} because {{null}} is not a valid packaging type (unless we
want to assume JAR as the default packaging)
CoordinateBuilder should set null for empty parts of G:A:P:C:V
--------------------------------------------------------------
Key: FORGE-2230
URL:
https://issues.jboss.org/browse/FORGE-2230
Project: Forge
Issue Type: Enhancement
Components: Dependencies
Affects Versions: 2.14.0.Final
Reporter: Ondrej Zizka
CoordinateBuilder, when given "G:A:::V", should set P and C to null. Having
them empty strings is no good.
Consider machine-provided lists contaning:
org.foo:foo-bar:::4.1.2
This should end with the same result as parsing
org.foo:foo-bar:4.1.2
whereas it ends up with P and C set to empty strings, and forces the user of the api to
do extra check for an empty string value.
Related:
"Malformed coordinate. Should be
groupId:artifactId:[packaging]:[classifier]:[version]");
should read
"Malformed coordinate. Should be
groupId:artifactId:[packaging:[classifier:]][version]");
And javadoc's
<groupId>:<artifactId>[:<packaging>[:<classifier>]]:<version>
should read
<groupId>:<artifactId>[:<packaging>[:<classifier>]]:[<version>]
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)