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

org.ligoj.app.plugin.qa.sonar.SonarProject Maven / Gradle / Ivy

The newest version!
/*
 * Licensed under MIT (https://github.com/ligoj/ligoj/blob/master/LICENSE)
 */
package org.ligoj.app.plugin.qa.sonar;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.persistence.Transient;
import lombok.Getter;
import lombok.Setter;
import org.ligoj.bootstrap.core.IDescribableBean;
import org.ligoj.bootstrap.core.NamedBean;

import java.util.List;
import java.util.Map;

/**
 * SonarQube project retrieved from REST API. Name, and also some additional
 * information.
 */
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class SonarProject extends NamedBean implements IDescribableBean {

	/**
	 * SID
	 */
	private static final long serialVersionUID = 1L;

	private String description;

	/**
	 * SonarQube raw structure.
	 */
	@JsonProperty("msr")
	@JsonAlias("measures")
	@Transient
	private List rawMeasures;

	/**
	 * Mapped values for easiest traversals.
	 */
	private Map measuresAsMap;

	/**
	 * List of branches.
	 */
	private List branches;

	/**
	 * Human-readable key
	 */
	private String key;

	/**
	 * The local name of the project.
	 * 
	 * @param lname The local name of the project.
	 */
	@JsonProperty("lname")
	public void setLname(final String lname) {
		this.description = lname;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy