🚧 Bugfixes

This commit is contained in:
Andreas Dinauer 2026-04-19 17:59:23 +02:00
parent d604ca1601
commit c9af6f75be
13 changed files with 40 additions and 38 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -59,6 +59,10 @@ public class Service
}
case POM ->
{
if (mavenContext.version().getSnapshot())
{
throw new WebApplicationException(501);
}
if (FileHash.NONE.equals(mavenContext.file().getHash()))
{
return pomService.store(mavenContext, body);

View File

@ -16,7 +16,7 @@ public class ExtensionParser
String firstLevelBase = Strings.CI.removeEnd(raw, String.format(".%s", firstLevelExtension));
if (FILE_TYPES.contains(firstLevelExtension))
{
return new Result(firstLevelBase, FileType.valueOf(firstLevelExtension.toUpperCase()), null);
return new Result(firstLevelBase, FileExt.valueOf(firstLevelExtension.toUpperCase()), null);
}
if (FILE_HASHES.contains(firstLevelExtension))
{
@ -24,13 +24,13 @@ public class ExtensionParser
if (FILE_TYPES.contains(secondLevelExtension))
{
String secondLevelBase = Strings.CI.removeEnd(firstLevelBase, String.format(".%s", secondLevelExtension));
return new Result(secondLevelBase, FileType.valueOf(secondLevelExtension.toUpperCase()), FileHash.valueOf(firstLevelExtension.toUpperCase()));
return new Result(secondLevelBase, FileExt.valueOf(secondLevelExtension.toUpperCase()), FileHash.valueOf(firstLevelExtension.toUpperCase()));
}
}
throw new RuntimeException();
}
public record Result(String base, FileType ext, FileHash hashExt)
public record Result(String base, FileExt ext, FileHash hashExt)
{
}
}

View File

@ -1,17 +1,12 @@
package dev.dinauer.maven.maven.core.model;
import jakarta.ws.rs.BadRequestException;
import org.apache.commons.io.FilenameUtils;
import java.util.List;
public class File
{
private String artifactId;
private String version;
private String raw;
private String base;
private FileType type;
private FileExt type;
private FileHash hash;
public String getRaw()
@ -36,12 +31,12 @@ public class File
return this;
}
public FileType getType()
public FileExt getType()
{
return type;
}
public File setType(FileType type)
public File setType(FileExt type)
{
this.type = type;
return this;
@ -79,4 +74,9 @@ public class File
this.version = version;
return this;
}
public String getFilename()
{
return base + "." + type.toString().toLowerCase();
}
}

View File

@ -1,6 +1,6 @@
package dev.dinauer.maven.maven.core.model;
public enum FileType
public enum FileExt
{
JAR, POM, XML
}

View File

@ -17,7 +17,7 @@ public class FileParser
String base = FilenameUtils.getBaseName(raw);
if (FILE_TYPES.contains(extension.toLowerCase()))
{
file.setType(FileType.valueOf(extension.toUpperCase()));
file.setType(FileExt.valueOf(extension.toUpperCase()));
file.setBase(base);
file.setHash(FileHash.NONE);
return file;
@ -29,7 +29,7 @@ public class FileParser
String secondaryBase = FilenameUtils.getBaseName(base);
if (FILE_TYPES.contains(secondaryExtension.toLowerCase()))
{
file.setType(FileType.valueOf(secondaryExtension.toUpperCase()));
file.setType(FileExt.valueOf(secondaryExtension.toUpperCase()));
file.setBase(secondaryBase);
return file;
}

View File

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

View File

@ -13,7 +13,7 @@ public class ExtensionParserTest
ExtensionParser.Result result = ExtensionParser.parse(filename);
Assertions.assertEquals("test", result.base());
Assertions.assertEquals(FileType.JAR, result.ext());
Assertions.assertEquals(FileExt.JAR, result.ext());
Assertions.assertEquals(FileHash.MD5, result.hashExt());
}
@ -25,7 +25,7 @@ public class ExtensionParserTest
ExtensionParser.Result result = ExtensionParser.parse(filename);
Assertions.assertEquals("test", result.base());
Assertions.assertEquals(FileType.POM, result.ext());
Assertions.assertEquals(FileExt.POM, result.ext());
Assertions.assertEquals(FileHash.SHA1, result.hashExt());
}
@ -37,7 +37,7 @@ public class ExtensionParserTest
ExtensionParser.Result result = ExtensionParser.parse(filename);
Assertions.assertEquals("test", result.base());
Assertions.assertEquals(FileType.JAR, result.ext());
Assertions.assertEquals(FileExt.JAR, result.ext());
Assertions.assertNull(result.hashExt());
}
}

View File

@ -15,7 +15,7 @@ public class SnapshotFileParserTest
Assertions.assertEquals("20240315", file.getDate());
Assertions.assertEquals("142307", file.getTime());
Assertions.assertEquals(3, file.getBuildNumber());
Assertions.assertEquals(FileType.JAR, file.getType());
Assertions.assertEquals(FileExt.JAR, file.getType());
Assertions.assertEquals(FileHash.MD5, file.getHash());
}
}