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

net.nemerosa.ontrack.extension.issues.model.IssueServiceConfigurationRepresentation Maven / Gradle / Ivy

There is a newer version: 4.4.5
Show newest version
package net.nemerosa.ontrack.extension.issues.model;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import net.nemerosa.ontrack.extension.issues.IssueServiceExtension;

/**
 * This class is used to represent an {@link net.nemerosa.ontrack.extension.issues.model.IssueServiceConfiguration}
 * to a client. The proposed {@link #id id} is composed from the
 * {@link net.nemerosa.ontrack.extension.issues.IssueServiceExtension#getId() service id} and from the
 * {@link IssueServiceConfiguration#getName() configuration name}, separated by //.
 *
 * @see net.nemerosa.ontrack.extension.issues.model.IssueServiceConfigurationIdentifier
 */
@Data
@AllArgsConstructor(access = AccessLevel.PROTECTED)
public class IssueServiceConfigurationRepresentation {

    private final String id;
    private final String name;
    private final String serviceId;

    public static IssueServiceConfigurationRepresentation of(IssueServiceExtension issueServiceExtension, IssueServiceConfiguration issueServiceConfiguration) {
        return new IssueServiceConfigurationRepresentation(
                issueServiceConfiguration.toIdentifier().format(),
                String.format("%s (%s)", issueServiceConfiguration.getName(), issueServiceExtension.getName()),
                issueServiceExtension.getId()
        );
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy