static

in bval-jsr/src/main/java/org/apache/bval/util/BValVersion.java [55:113]


    static {
        Properties revisionProps = new Properties();
        try (InputStream in = BValVersion.class.getResourceAsStream("/META-INF/org.apache.bval.revision.properties")) {
            if (in != null) {
                revisionProps.load(in);
            }
        } catch (IOException ioe) {
        }

        String vers = revisionProps.getProperty("project.version");
        if (StringUtils.isBlank(vers)) {
            vers = "0.0.0";
        }
        VERSION_NUMBER = vers;

        StringTokenizer tok = new StringTokenizer(VERSION_NUMBER, ".-");
        int major, minor, patch;
        try {
            major = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
        } catch (Exception e) {
            major = 0;
        }

        try {
            minor = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
        } catch (Exception e) {
            minor = 0;
        }

        try {
            patch = tok.hasMoreTokens() ? Integer.parseInt(tok.nextToken()) : 0;
        } catch (Exception e) {
            patch = 0;
        }

        String revision = revisionProps.getProperty("svn.revision");
        if (StringUtils.isBlank(revision)) {
            revision = "unknown";
        } else {
            tok = new StringTokenizer(revision, ":");
            String strTok = null;
            while (tok.hasMoreTokens()) {
                try {
                    strTok = tok.nextToken();
                } catch (Exception e) {
                }
            }
            if (strTok != null) {
                revision = strTok;
            }
        }

        MAJOR_RELEASE = major;
        MINOR_RELEASE = minor;
        PATCH_RELEASE = patch;
        RELEASE_STATUS = tok.hasMoreTokens() ? tok.nextToken("!") : "";
        REVISION_NUMBER = revision;
        PROJECT_ID = PROJECT_NAME + " " + VERSION_NUMBER + "-r" + REVISION_NUMBER;
    }