From 250885e8319311e7190a71ef1111b34f516ffcf9 Mon Sep 17 00:00:00 2001 From: Andreas Dinauer Date: Sun, 19 Apr 2026 16:20:52 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7=20Fix=20bug=20with=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dinauer/maven/maven/core/MavenContextProvider.java | 10 +++------- .../java/dev/dinauer/maven/maven/core/Service.java | 7 ++++++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java b/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java index 7410480..ffa2016 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java +++ b/src/main/java/dev/dinauer/maven/maven/core/MavenContextProvider.java @@ -11,7 +11,8 @@ public class MavenContextProvider { public static MavenContext parse(String path) { - switch (getExtension(path)) + ExtensionParser.Result result = ExtensionParser.parse(Path.of(path).getFileName().toString()); + switch (result.ext()) { case JAR, POM -> { @@ -23,14 +24,9 @@ public class MavenContextProvider case XML -> { MavenMetadataUrlParser parser = MavenMetadataUrlParser.parse(path); - return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setType(FileType.XML)); + return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setType(result.ext()).setHash(result.hashExt())); } } throw new RuntimeException(); } - - private static FileType getExtension(String filename) - { - return ExtensionParser.parse(filename).ext(); - } } diff --git a/src/main/java/dev/dinauer/maven/maven/core/Service.java b/src/main/java/dev/dinauer/maven/maven/core/Service.java index 18bfbda..e7fe74d 100644 --- a/src/main/java/dev/dinauer/maven/maven/core/Service.java +++ b/src/main/java/dev/dinauer/maven/maven/core/Service.java @@ -6,6 +6,8 @@ import dev.dinauer.maven.jpa.maven.ArtifactId; import dev.dinauer.maven.jpa.maven.Jar; import dev.dinauer.maven.jpa.maven.Pom; import dev.dinauer.maven.jpa.maven.Version; +import dev.dinauer.maven.maven.core.model.ExtensionParser; +import dev.dinauer.maven.maven.core.model.File; import dev.dinauer.maven.maven.token.TokenService; import dev.dinauer.maven.metadata.Metadata; import dev.dinauer.maven.maven.core.model.FileHash; @@ -103,6 +105,10 @@ public class Service { ArtifactId artifact = artifactOptional.get(); String metadata = new XmlMapper().writeValueAsString(new Metadata(artifact.getGroupId(), artifact.getArtifactId(), null, artifact.getUpdatedAt().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")))); + if (mavenContext.file().getHash() == null) + { + return Response.ok().type(MediaType.APPLICATION_XML).entity(metadata).build(); + } switch (mavenContext.file().getHash()) { case SHA1 -> @@ -114,7 +120,6 @@ public class Service return Response.ok().type(MediaType.TEXT_PLAIN).entity(DigestUtils.md5Hex(metadata)).build(); } } - return Response.ok().type(MediaType.APPLICATION_XML).entity(metadata).build(); } return Response.status(Response.Status.NOT_FOUND).build(); }