All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aeontronix.anypointsdk.amc.application.deployment.ApplicationLoggingService Maven / Gradle / Ivy

There is a newer version: 1.0.0-beta35
Show newest version
/*
 * Copyright (c) 2023. Aeontronix Inc
 */

package com.aeontronix.anypointsdk.amc.application.deployment;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class ApplicationLoggingService {

    @JsonProperty("artifactName")
    private String artifactName;

    @JsonProperty("scopeLoggingConfigurations")
    private List scopeLoggingConfigurations;

    public String getArtifactName() {
        return artifactName;
    }

    public void setArtifactName(String artifactName) {
        this.artifactName = artifactName;
    }

    @JsonIgnore
    public synchronized Map getLogLevels() {
        return getScopeLoggingConfigurations(true).stream()
                .collect(Collectors.toMap(ScopeLoggingConfigurationsItem::getScope, ScopeLoggingConfigurationsItem::getLogLevel));
    }

    @JsonIgnore
    public synchronized void setLogLevels(Map logLevels) {
        getScopeLoggingConfigurations(true).clear();
        for (Map.Entry e : logLevels.entrySet()) {
            scopeLoggingConfigurations.add(new ScopeLoggingConfigurationsItem(e.getKey(), e.getValue()));
        }
    }

    public List getScopeLoggingConfigurations(boolean create) {
        if (scopeLoggingConfigurations == null && create) {
            scopeLoggingConfigurations = new ArrayList<>();
        }
        return scopeLoggingConfigurations;
    }

    public List getScopeLoggingConfigurations() {
        return scopeLoggingConfigurations;
    }

    public void setScopeLoggingConfigurations(List scopeLoggingConfigurations) {
        this.scopeLoggingConfigurations = scopeLoggingConfigurations;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy