private static int innerGetSegmentCount()

in src/main/java/org/apache/sling/feature/maven/mojos/UpdateVersionsMojo.java [837:871]


    private static int innerGetSegmentCount(final ArtifactVersion v) {
        // if the version does not match the maven rules, then we have only one segment
        // i.e. the qualifier
        if (v.getBuildNumber() != 0) {
            // the version was successfully parsed, and we have a build number
            // have to have four segments
            return 4;
        }
        if ((v.getMajorVersion() != 0 || v.getMinorVersion() != 0 || v.getIncrementalVersion() != 0)
                && v.getQualifier() != null) {
            // the version was successfully parsed, and we have a qualifier
            // have to have four segments
            return 4;
        }
        final String version = v.toString();
        if (version.indexOf('-') != -1) {
            // the version has parts and was not parsed successfully
            // have to have one segment
            return version.equals(v.getQualifier()) ? 1 : 4;
        }
        if (version.indexOf('.') != -1) {
            // the version has parts and was not parsed successfully
            // have to have one segment
            return version.equals(v.getQualifier()) ? 1 : 3;
        }
        if (StringUtils.isEmpty(version)) {
            return 3;
        }
        try {
            Integer.parseInt(version);
            return 3;
        } catch (final NumberFormatException e) {
            return 1;
        }
    }