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

org.cloudfoundry.multiapps.controller.persistence.model.ConfigurationEntry Maven / Gradle / Ivy

package org.cloudfoundry.multiapps.controller.persistence.model;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import org.cloudfoundry.multiapps.controller.persistence.model.adapter.VersionJsonDeserializer;
import org.cloudfoundry.multiapps.controller.persistence.model.adapter.VersionJsonSerializer;
import org.cloudfoundry.multiapps.mta.model.AuditableConfiguration;
import org.cloudfoundry.multiapps.mta.model.ConfigurationIdentifier;
import org.cloudfoundry.multiapps.mta.model.Version;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class ConfigurationEntry implements AuditableConfiguration {

    private long id;
    private String providerNid;
    private String providerId;
    @JsonSerialize(using = VersionJsonSerializer.class)
    @JsonDeserialize(using = VersionJsonDeserializer.class)
    private Version providerVersion;
    private String providerNamespace;
    private CloudTarget targetSpace;
    private String content;
    private List visibility;
    private String spaceId;
    private String contentId;

    // Required by Jackson.
    protected ConfigurationEntry() {
    }

    public ConfigurationEntry(long id, String providerNid, String providerId, Version providerVersion, String providerNamespace,
                              CloudTarget targetSpace, String content, List visibility, String spaceId, String contentId) {
        this.id = id;
        this.providerNid = providerNid;
        this.providerId = providerId;
        this.providerVersion = providerVersion;
        this.providerNamespace = providerNamespace;
        this.targetSpace = targetSpace;
        this.content = content;
        this.visibility = visibility;
        this.spaceId = spaceId;
        this.contentId = contentId;
    }

    public ConfigurationEntry(String providerNid, String providerId, Version providerVersion, String providerNamespace,
                              CloudTarget targetSpace, String content, List cloudTargets, String spaceId, String contentId) {
        this(0, providerNid, providerId, providerVersion, providerNamespace, targetSpace, content, cloudTargets, spaceId, contentId);
    }

    public ConfigurationEntry(String providerId, Version providerVersion) {
        this(0, null, providerId, providerVersion, null, null, null, null, null, null);
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getProviderNid() {
        return providerNid;
    }

    public CloudTarget getTargetSpace() {
        return targetSpace;
    }

    public String getProviderId() {
        return providerId;
    }

    public Version getProviderVersion() {
        return providerVersion;
    }

    public String getProviderNamespace() {
        return providerNamespace;
    }

    public String getContent() {
        return content;
    }

    public List getVisibility() {
        return visibility;
    }

    public String getSpaceId() {
        return spaceId;
    }

    public void setSpaceId(String spaceId) {
        this.spaceId = spaceId;
    }

    public String getContentId() {
        return contentId;
    }

    public void setContentId(String contentId) {
        this.contentId = contentId;
    }

    @Override
    public String getConfigurationType() {
        return "configuration entry";
    }

    @Override
    public String getConfigurationName() {
        return String.valueOf(id);
    }

    @Override
    public List getConfigurationIdentifiers() {
        List configurationIdentifiers = new ArrayList<>();
        configurationIdentifiers.add(new ConfigurationIdentifier("provider id", providerId));
        configurationIdentifiers.add(new ConfigurationIdentifier("provider nid", providerNid));
        configurationIdentifiers.add(new ConfigurationIdentifier("provider version", Objects.toString(providerVersion)));
        configurationIdentifiers.add(new ConfigurationIdentifier("provider namespace", providerNamespace)); // welp
        configurationIdentifiers.add(new ConfigurationIdentifier("provider target",
                                                                 targetSpace.getOrganizationName() + "/" + targetSpace.getSpaceName()));
        configurationIdentifiers.add(new ConfigurationIdentifier("configuration content", content));
        configurationIdentifiers.add(new ConfigurationIdentifier("configuration content id", contentId));
        return configurationIdentifiers;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy