public Map getPackaging2extensionMapping()

in indexer-core/src/main/java/org/apache/maven/index/artifact/DefaultArtifactPackagingMapper.java [82:126]


    public Map<String, String> getPackaging2extensionMapping() {
        if (packaging2extensionMapping == null) {
            synchronized (this) {
                if (packaging2extensionMapping == null) {
                    packaging2extensionMapping = new HashMap<>();

                    // merge defaults
                    packaging2extensionMapping.putAll(DEFAULTS);

                    if (propertiesFile != null && propertiesFile.exists()) {
                        getLogger().info("Found user artifact packaging mapping file, applying it...");

                        Properties userMappings = new Properties();

                        try (FileInputStream fis = new FileInputStream(propertiesFile)) {
                            userMappings.load(fis);

                            if (userMappings.keySet().size() > 0) {
                                for (Object key : userMappings.keySet()) {
                                    packaging2extensionMapping.put(
                                            key.toString(), userMappings.getProperty(key.toString()));
                                }

                                getLogger()
                                        .info(propertiesFile.getAbsolutePath()
                                                + " user artifact packaging mapping file contained "
                                                + userMappings.keySet().size()
                                                + " mappings, applied them all succesfully.");
                            }
                        } catch (IOException e) {
                            getLogger()
                                    .warn("Got IO exception during read of file: " + propertiesFile.getAbsolutePath());
                        }

                    } else {
                        // make it silent if using defaults
                        getLogger()
                                .debug("User artifact packaging mappings file not found, will work with defaults...");
                    }
                }
            }
        }

        return packaging2extensionMapping;
    }