🚧 Fix bug with file

This commit is contained in:
Andreas Dinauer 2026-04-19 16:20:52 +02:00
parent ec367b5940
commit 250885e831
2 changed files with 9 additions and 8 deletions

View File

@ -11,7 +11,8 @@ public class MavenContextProvider
{ {
public static MavenContext parse(String path) 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 -> case JAR, POM ->
{ {
@ -23,14 +24,9 @@ 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(FileType.XML)); return new MavenContext(path, parser.groupId(), parser.artifactId(), null, new File().setType(result.ext()).setHash(result.hashExt()));
} }
} }
throw new RuntimeException(); throw new RuntimeException();
} }
private static FileType getExtension(String filename)
{
return ExtensionParser.parse(filename).ext();
}
} }

View File

@ -6,6 +6,8 @@ import dev.dinauer.maven.jpa.maven.ArtifactId;
import dev.dinauer.maven.jpa.maven.Jar; import dev.dinauer.maven.jpa.maven.Jar;
import dev.dinauer.maven.jpa.maven.Pom; import dev.dinauer.maven.jpa.maven.Pom;
import dev.dinauer.maven.jpa.maven.Version; 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.maven.token.TokenService;
import dev.dinauer.maven.metadata.Metadata; import dev.dinauer.maven.metadata.Metadata;
import dev.dinauer.maven.maven.core.model.FileHash; import dev.dinauer.maven.maven.core.model.FileHash;
@ -103,6 +105,10 @@ public class Service
{ {
ArtifactId artifact = artifactOptional.get(); ArtifactId artifact = artifactOptional.get();
String metadata = new XmlMapper().writeValueAsString(new Metadata(artifact.getGroupId(), artifact.getArtifactId(), null, artifact.getUpdatedAt().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")))); 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()) switch (mavenContext.file().getHash())
{ {
case SHA1 -> 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.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(); return Response.status(Response.Status.NOT_FOUND).build();
} }