You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.8 KiB
77 lines
1.8 KiB
package com.redhat.pctsec.model; |
|
|
|
import com.redhat.pctsec.model.api.service.AltPncService; |
|
//import com.redhat.pctsec.model.api.service.PncService; |
|
import io.quarkus.rest.client.reactive.QuarkusRestClientBuilder; |
|
import jakarta.enterprise.context.ApplicationScoped; |
|
import jakarta.inject.Inject; |
|
import jakarta.persistence.Entity; |
|
import jakarta.persistence.Transient; |
|
import org.eclipse.microprofile.config.ConfigProvider; |
|
import org.eclipse.microprofile.config.inject.ConfigProperty; |
|
import org.jboss.pnc.dto.Build; |
|
|
|
import java.net.URI; |
|
import java.net.URL; |
|
|
|
@Entity |
|
public class PNCBuild extends BuildType{ |
|
|
|
|
|
@Transient |
|
public static final String apiUrl = ConfigProvider.getConfig().getValue("pnc.api-url",String.class); |
|
@Transient |
|
private static final AltPncService pnc = QuarkusRestClientBuilder.newBuilder().baseUri(URI.create(apiUrl)).build(AltPncService.class); |
|
|
|
|
|
/* |
|
@Transient |
|
PncService pnc; |
|
*/ |
|
|
|
@Transient |
|
Build build; |
|
|
|
private URI SCMURL; |
|
private String revision; |
|
|
|
public PNCBuild() { |
|
super(); |
|
} |
|
public Build getBuild() { |
|
if(build == null) |
|
build = pnc.getBuild(this.buildRef); |
|
return build; |
|
} |
|
|
|
public PNCBuild(String buildRef) { |
|
super(buildRef); |
|
} |
|
|
|
@Override |
|
public URI SCMURL() { |
|
if(SCMURL == null) |
|
SCMURL = URI.create(getBuild().getScmUrl()); |
|
|
|
return this.SCMURL; |
|
} |
|
|
|
@Override |
|
public URL URL() { |
|
return null; |
|
} |
|
|
|
@Override |
|
public String revision() { |
|
if(revision == null) |
|
revision = getBuild().getScmTag(); |
|
return revision; |
|
} |
|
|
|
public static boolean isValidRef(String ref){ |
|
//New type PNC Ref |
|
if(ref.length()!=14) |
|
return false; |
|
return true; |
|
} |
|
}
|
|
|