🚧 Add fix for not found hashes

This commit is contained in:
Andreas Dinauer 2026-04-19 17:43:36 +02:00
parent 4f6f71ecd5
commit d604ca1601
7 changed files with 23 additions and 21 deletions

View File

@ -23,7 +23,8 @@ public class Jar
private String url; private String url;
private String filename; @Column(name = "file_base")
private String fileBase;
@ManyToOne @ManyToOne
@JoinColumn(name = "version_id") @JoinColumn(name = "version_id")
@ -96,14 +97,14 @@ public class Jar
return this; return this;
} }
public String getFilename() public String getFileBase()
{ {
return filename; return fileBase;
} }
public Jar setFilename(String filename) public Jar setFileBase(String filename)
{ {
this.filename = filename; this.fileBase = filename;
return this; return this;
} }
} }

View File

@ -23,7 +23,8 @@ public class Pom
private String url; private String url;
private String filename; @Column(name = "file_base")
private String fileBase;
@OneToOne @OneToOne
@JoinColumn(name = "version_id") @JoinColumn(name = "version_id")
@ -96,14 +97,14 @@ public class Pom
return this; return this;
} }
public String getFilename() public String getFileBase()
{ {
return filename; return fileBase;
} }
public Pom setFilename(String filename) public Pom setFileBase(String fileBase)
{ {
this.filename = filename; this.fileBase = fileBase;
return this; return this;
} }
} }

View File

@ -177,11 +177,11 @@ public class Version
pullCount = pullCount + 1; pullCount = pullCount + 1;
} }
public Optional<Jar> getJarByFilename(String filename) public Optional<Jar> getJarByFileBase(String fileBase)
{ {
for (Jar jar : jars) for (Jar jar : jars)
{ {
if (jar.getFilename().equals(filename)) if (jar.getFileBase().equals(fileBase))
{ {
return Optional.of(jar); return Optional.of(jar);
} }

View File

@ -23,9 +23,9 @@ public class JarService
String md5 = DigestUtils.md5Hex(body); String md5 = DigestUtils.md5Hex(body);
String sha1 = DigestUtils.sha1Hex(body); String sha1 = DigestUtils.sha1Hex(body);
Version version = versionService.findOrCreate(mavenContext.groupId(), mavenContext.artifactId(), mavenContext.version().getRaw()); Version version = versionService.findOrCreate(mavenContext.groupId(), mavenContext.artifactId(), mavenContext.version().getRaw());
if (!existsJar(version.getJars(), mavenContext.file().getRaw())) if (!existsJar(version.getJars(), mavenContext.file().getBase()))
{ {
version.getJars().add(new Jar().setJar(body).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFilename(mavenContext.file().getRaw())); version.getJars().add(new Jar().setJar(body).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFileBase(mavenContext.file().getBase()));
versionService.persist(version); versionService.persist(version);
return Response.status(Response.Status.CREATED).build(); return Response.status(Response.Status.CREATED).build();
} }
@ -55,14 +55,14 @@ public class JarService
private Jar findJar(MavenContext context) private Jar findJar(MavenContext context)
{ {
return versionService.findOptional(context.groupId(), context.artifactId(), context.version().getRaw()).orElseThrow().getJarByFilename(context.file().getRaw()).orElseThrow(); return versionService.findOptional(context.groupId(), context.artifactId(), context.version().getRaw()).orElseThrow().getJarByFileBase(context.file().getBase()).orElseThrow();
} }
private boolean existsJar(List<Jar> jars, String filename) private boolean existsJar(List<Jar> jars, String fileBase)
{ {
for (Jar jar : jars) for (Jar jar : jars)
{ {
if (filename.equals(jar.getFilename())) if (fileBase.equals(jar.getFileBase()))
{ {
return true; return true;
} }

View File

@ -24,7 +24,7 @@ public class MavenContextProvider
case XML -> case XML ->
{ {
MavenMetadataUrlParser parser = MavenMetadataUrlParser.parse(path); MavenMetadataUrlParser parser = MavenMetadataUrlParser.parse(path);
return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setType(result.ext()).setHash(result.hashExt())); return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setBase("maven-metadata").setType(result.ext()).setHash(result.hashExt()));
} }
} }
throw new RuntimeException(); throw new RuntimeException();

View File

@ -31,7 +31,7 @@ public class PomService
version.setUploadedBy(securityIdentity.getPrincipal().getName()); version.setUploadedBy(securityIdentity.getPrincipal().getName());
if (version.getPom() == null) if (version.getPom() == null)
{ {
version.setPom(new Pom().setPom(new String(body)).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFilename(mavenContext.file().getRaw())); version.setPom(new Pom().setPom(new String(body)).setMd5(md5).setSha1(sha1).setVersion(version).setUrl(mavenContext.path()).setFileBase(mavenContext.file().getBase()));
versionService.persist(version); versionService.persist(version);
return Response.status(Response.Status.CREATED).build(); return Response.status(Response.Status.CREATED).build();
} }

View File

@ -72,7 +72,7 @@ create table version
create table jar create table jar
( (
filename varchar(255), file_base varchar(255),
id varchar(255) not null id varchar(255) not null
primary key, primary key,
md5 varchar(255), md5 varchar(255),
@ -86,7 +86,7 @@ create table jar
create table pom create table pom
( (
filename varchar(255), file_base varchar(255),
id varchar(255) not null id varchar(255) not null
primary key, primary key,
md5 varchar(255), md5 varchar(255),