🚧 Bugfixes
This commit is contained in:
parent
d604ca1601
commit
c9af6f75be
@ -23,8 +23,7 @@ public class Jar
|
|||||||
|
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
@Column(name = "file_base")
|
private String filename;
|
||||||
private String fileBase;
|
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "version_id")
|
@JoinColumn(name = "version_id")
|
||||||
@ -97,14 +96,14 @@ public class Jar
|
|||||||
return this;
|
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;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,8 +23,7 @@ public class Pom
|
|||||||
|
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
@Column(name = "file_base")
|
private String filename;
|
||||||
private String fileBase;
|
|
||||||
|
|
||||||
@OneToOne
|
@OneToOne
|
||||||
@JoinColumn(name = "version_id")
|
@JoinColumn(name = "version_id")
|
||||||
@ -97,14 +96,14 @@ public class Pom
|
|||||||
return this;
|
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;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -177,11 +177,11 @@ public class Version
|
|||||||
pullCount = pullCount + 1;
|
pullCount = pullCount + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Optional<Jar> getJarByFileBase(String fileBase)
|
public Optional<Jar> getJarByFilename(String filename)
|
||||||
{
|
{
|
||||||
for (Jar jar : jars)
|
for (Jar jar : jars)
|
||||||
{
|
{
|
||||||
if (jar.getFileBase().equals(fileBase))
|
if (jar.getFilename().equals(filename))
|
||||||
{
|
{
|
||||||
return Optional.of(jar);
|
return Optional.of(jar);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,7 +25,7 @@ public class JarService
|
|||||||
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().getBase()))
|
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);
|
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().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)
|
private boolean existsJar(List<Jar> jars, String fileBase)
|
||||||
{
|
{
|
||||||
for (Jar jar : jars)
|
for (Jar jar : jars)
|
||||||
{
|
{
|
||||||
if (fileBase.equals(jar.getFileBase()))
|
if (fileBase.equals(jar.getFilename()))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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()).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);
|
versionService.persist(version);
|
||||||
return Response.status(Response.Status.CREATED).build();
|
return Response.status(Response.Status.CREATED).build();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,6 +59,10 @@ public class Service
|
|||||||
}
|
}
|
||||||
case POM ->
|
case POM ->
|
||||||
{
|
{
|
||||||
|
if (mavenContext.version().getSnapshot())
|
||||||
|
{
|
||||||
|
throw new WebApplicationException(501);
|
||||||
|
}
|
||||||
if (FileHash.NONE.equals(mavenContext.file().getHash()))
|
if (FileHash.NONE.equals(mavenContext.file().getHash()))
|
||||||
{
|
{
|
||||||
return pomService.store(mavenContext, body);
|
return pomService.store(mavenContext, body);
|
||||||
|
|||||||
@ -16,7 +16,7 @@ public class ExtensionParser
|
|||||||
String firstLevelBase = Strings.CI.removeEnd(raw, String.format(".%s", firstLevelExtension));
|
String firstLevelBase = Strings.CI.removeEnd(raw, String.format(".%s", firstLevelExtension));
|
||||||
if (FILE_TYPES.contains(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))
|
if (FILE_HASHES.contains(firstLevelExtension))
|
||||||
{
|
{
|
||||||
@ -24,13 +24,13 @@ public class ExtensionParser
|
|||||||
if (FILE_TYPES.contains(secondLevelExtension))
|
if (FILE_TYPES.contains(secondLevelExtension))
|
||||||
{
|
{
|
||||||
String secondLevelBase = Strings.CI.removeEnd(firstLevelBase, String.format(".%s", 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();
|
throw new RuntimeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public record Result(String base, FileType ext, FileHash hashExt)
|
public record Result(String base, FileExt ext, FileHash hashExt)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,12 @@
|
|||||||
package dev.dinauer.maven.maven.core.model;
|
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
|
public class File
|
||||||
{
|
{
|
||||||
private String artifactId;
|
private String artifactId;
|
||||||
private String version;
|
private String version;
|
||||||
private String raw;
|
private String raw;
|
||||||
private String base;
|
private String base;
|
||||||
private FileType type;
|
private FileExt type;
|
||||||
private FileHash hash;
|
private FileHash hash;
|
||||||
|
|
||||||
public String getRaw()
|
public String getRaw()
|
||||||
@ -36,12 +31,12 @@ public class File
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FileType getType()
|
public FileExt getType()
|
||||||
{
|
{
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public File setType(FileType type)
|
public File setType(FileExt type)
|
||||||
{
|
{
|
||||||
this.type = type;
|
this.type = type;
|
||||||
return this;
|
return this;
|
||||||
@ -79,4 +74,9 @@ public class File
|
|||||||
this.version = version;
|
this.version = version;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getFilename()
|
||||||
|
{
|
||||||
|
return base + "." + type.toString().toLowerCase();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package dev.dinauer.maven.maven.core.model;
|
package dev.dinauer.maven.maven.core.model;
|
||||||
|
|
||||||
public enum FileType
|
public enum FileExt
|
||||||
{
|
{
|
||||||
JAR, POM, XML
|
JAR, POM, XML
|
||||||
}
|
}
|
||||||
@ -17,7 +17,7 @@ public class FileParser
|
|||||||
String base = FilenameUtils.getBaseName(raw);
|
String base = FilenameUtils.getBaseName(raw);
|
||||||
if (FILE_TYPES.contains(extension.toLowerCase()))
|
if (FILE_TYPES.contains(extension.toLowerCase()))
|
||||||
{
|
{
|
||||||
file.setType(FileType.valueOf(extension.toUpperCase()));
|
file.setType(FileExt.valueOf(extension.toUpperCase()));
|
||||||
file.setBase(base);
|
file.setBase(base);
|
||||||
file.setHash(FileHash.NONE);
|
file.setHash(FileHash.NONE);
|
||||||
return file;
|
return file;
|
||||||
@ -29,7 +29,7 @@ public class FileParser
|
|||||||
String secondaryBase = FilenameUtils.getBaseName(base);
|
String secondaryBase = FilenameUtils.getBaseName(base);
|
||||||
if (FILE_TYPES.contains(secondaryExtension.toLowerCase()))
|
if (FILE_TYPES.contains(secondaryExtension.toLowerCase()))
|
||||||
{
|
{
|
||||||
file.setType(FileType.valueOf(secondaryExtension.toUpperCase()));
|
file.setType(FileExt.valueOf(secondaryExtension.toUpperCase()));
|
||||||
file.setBase(secondaryBase);
|
file.setBase(secondaryBase);
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -72,7 +72,7 @@ create table version
|
|||||||
|
|
||||||
create table jar
|
create table jar
|
||||||
(
|
(
|
||||||
file_base varchar(255),
|
filename 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
|
||||||
(
|
(
|
||||||
file_base varchar(255),
|
filename varchar(255),
|
||||||
id varchar(255) not null
|
id varchar(255) not null
|
||||||
primary key,
|
primary key,
|
||||||
md5 varchar(255),
|
md5 varchar(255),
|
||||||
|
|||||||
@ -13,7 +13,7 @@ public class ExtensionParserTest
|
|||||||
ExtensionParser.Result result = ExtensionParser.parse(filename);
|
ExtensionParser.Result result = ExtensionParser.parse(filename);
|
||||||
|
|
||||||
Assertions.assertEquals("test", result.base());
|
Assertions.assertEquals("test", result.base());
|
||||||
Assertions.assertEquals(FileType.JAR, result.ext());
|
Assertions.assertEquals(FileExt.JAR, result.ext());
|
||||||
Assertions.assertEquals(FileHash.MD5, result.hashExt());
|
Assertions.assertEquals(FileHash.MD5, result.hashExt());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ public class ExtensionParserTest
|
|||||||
ExtensionParser.Result result = ExtensionParser.parse(filename);
|
ExtensionParser.Result result = ExtensionParser.parse(filename);
|
||||||
|
|
||||||
Assertions.assertEquals("test", result.base());
|
Assertions.assertEquals("test", result.base());
|
||||||
Assertions.assertEquals(FileType.POM, result.ext());
|
Assertions.assertEquals(FileExt.POM, result.ext());
|
||||||
Assertions.assertEquals(FileHash.SHA1, result.hashExt());
|
Assertions.assertEquals(FileHash.SHA1, result.hashExt());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ public class ExtensionParserTest
|
|||||||
ExtensionParser.Result result = ExtensionParser.parse(filename);
|
ExtensionParser.Result result = ExtensionParser.parse(filename);
|
||||||
|
|
||||||
Assertions.assertEquals("test", result.base());
|
Assertions.assertEquals("test", result.base());
|
||||||
Assertions.assertEquals(FileType.JAR, result.ext());
|
Assertions.assertEquals(FileExt.JAR, result.ext());
|
||||||
Assertions.assertNull(result.hashExt());
|
Assertions.assertNull(result.hashExt());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,7 @@ public class SnapshotFileParserTest
|
|||||||
Assertions.assertEquals("20240315", file.getDate());
|
Assertions.assertEquals("20240315", file.getDate());
|
||||||
Assertions.assertEquals("142307", file.getTime());
|
Assertions.assertEquals("142307", file.getTime());
|
||||||
Assertions.assertEquals(3, file.getBuildNumber());
|
Assertions.assertEquals(3, file.getBuildNumber());
|
||||||
Assertions.assertEquals(FileType.JAR, file.getType());
|
Assertions.assertEquals(FileExt.JAR, file.getType());
|
||||||
Assertions.assertEquals(FileHash.MD5, file.getHash());
|
Assertions.assertEquals(FileHash.MD5, file.getHash());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user