private static Record expandAddedArtifact()

in indexer-reader/src/main/java/org/apache/maven/index/reader/RecordExpander.java [102:160]


    private static Record expandAddedArtifact(final Map<String, String> raw) {
        final Record result = new Record(Type.ARTIFACT_ADD, new HashMap<>());

        // Minimal
        expandUinfo(raw.get(UINFO), result);
        final String info = raw.get(INFO);
        if (info != null) {
            String[] r = FS_PATTERN.split(info);
            result.put(Record.PACKAGING, renvl(r[0]));
            result.put(Record.FILE_MODIFIED, Long.valueOf(r[1]));
            result.put(Record.FILE_SIZE, Long.valueOf(r[2]));
            result.put(Record.HAS_SOURCES, "1".equals(r[3]) ? Boolean.TRUE : Boolean.FALSE);
            result.put(Record.HAS_JAVADOC, "1".equals(r[4]) ? Boolean.TRUE : Boolean.FALSE);
            result.put(Record.HAS_SIGNATURE, "1".equals(r[5]) ? Boolean.TRUE : Boolean.FALSE);
            if (r.length > 6) {
                result.put(Record.FILE_EXTENSION, r[6]);
            } else {
                final String packaging = result.getString(Record.PACKAGING);
                if (result.containsKey(Record.CLASSIFIER)
                        || "pom".equals(packaging)
                        || "war".equals(packaging)
                        || "ear".equals(packaging)) {
                    result.put(Record.FILE_EXTENSION, packaging);
                } else {
                    result.put(Record.FILE_EXTENSION, "jar"); // best guess
                }
            }
        }
        putIfNotNullTS(raw, "m", result, Record.REC_MODIFIED);
        putIfNotNull(raw, "n", result, Record.NAME);
        putIfNotNull(raw, "d", result, Record.DESCRIPTION);
        putIfNotNull(raw, "1", result, Record.SHA1);

        // Jar file contents (optional)
        putIfNotNullAsStringArray(raw, "classnames", result, Record.CLASSNAMES);

        // Maven Plugin (optional)
        putIfNotNull(raw, "px", result, Record.PLUGIN_PREFIX);
        putIfNotNullAsStringArray(raw, "gx", result, Record.PLUGIN_GOALS);

        // OSGi (optional)
        putIfNotNull(raw, "Bundle-SymbolicName", result, Record.OSGI_BUNDLE_SYMBOLIC_NAME);
        putIfNotNull(raw, "Bundle-Version", result, Record.OSGI_BUNDLE_VERSION);
        putIfNotNull(raw, "Export-Package", result, Record.OSGI_EXPORT_PACKAGE);
        putIfNotNull(raw, "Export-Service", result, Record.OSGI_EXPORT_SERVICE);
        putIfNotNull(raw, "Bundle-Description", result, Record.OSGI_BUNDLE_DESCRIPTION);
        putIfNotNull(raw, "Bundle-Name", result, Record.OSGI_BUNDLE_NAME);
        putIfNotNull(raw, "Bundle-License", result, Record.OSGI_BUNDLE_LICENSE);
        putIfNotNull(raw, "Bundle-DocURL", result, Record.OSGI_EXPORT_DOCURL);
        putIfNotNull(raw, "Import-Package", result, Record.OSGI_IMPORT_PACKAGE);
        putIfNotNull(raw, "Require-Bundle", result, Record.OSGI_REQUIRE_BUNDLE);
        putIfNotNull(raw, "Provide-Capability", result, Record.OSGI_PROVIDE_CAPABILITY);
        putIfNotNull(raw, "Require-Capability", result, Record.OSGI_REQUIRE_CAPABILITY);
        putIfNotNull(raw, "Fragment-Host", result, Record.OSGI_FRAGMENT_HOST);
        putIfNotNull(raw, "Bundle-RequiredExecutionEnvironment", result, Record.OSGI_BREE);
        putIfNotNull(raw, "sha256", result, Record.SHA_256);

        return result;
    }