Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import java.util.Set;

import javax.lang.model.element.Modifier;
import javax.lang.model.element.TypeElement;

/**
* Write Http client adapter.
Expand All @@ -37,13 +38,14 @@ final class ClientWriter extends BaseControllerWriter {
}

@Override
protected String initPackageName(String originName) {
protected String initPackageName(TypeElement originName) {
// put the generated Http client into a sub-package
final var beanType = reader.beanType();

String packageName = super.initPackageName(originName);
return !beanType.getModifiers().contains(Modifier.PUBLIC) && ClientPrism.isPresent(beanType)
? super.initPackageName(originName)
: super.initPackageName(originName) + ".httpclient";
? packageName
: packageName.isBlank() ? packageName : packageName + ".httpclient";
}

private void readMethods() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import java.util.*;

import io.avaje.http.generator.core.APContext;


final class ComponentMetaData {

private final Set<String> generatedClients = new HashSet<>();
Expand All @@ -23,7 +26,16 @@ void setFullName(String fullName) {
String fullName() {
if (fullName == null) {
String topPackage = TopPackage.of(generatedClients);
fullName = topPackage + "." + name(topPackage) + "HttpComponent";

var defaultPackage =
!topPackage.contains(".")
&& APContext.getProjectModuleElement().isUnnamed()
&& APContext.elements().getPackageElement(topPackage) == null;

fullName =
defaultPackage
? name(topPackage) + "HttpComponent"
: topPackage + "." + name(topPackage) + "HttpComponent";
}
return fullName;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ protected BaseControllerWriter(ControllerReader reader, String suffix) throws IO
final TypeElement origin = reader.beanType();
this.originName = origin.getQualifiedName().toString();
this.shortName = origin.getSimpleName().toString();
this.packageName = initPackageName(originName);
this.fullName = packageName + "." + shortName + suffix;
this.packageName = initPackageName(origin);
this.fullName =
packageName.isBlank() ? shortName + suffix : packageName + "." + shortName + suffix;

initWriter();
this.instrumentContext = reader.methods().stream().anyMatch(MethodReader::instrumentContext);
Expand All @@ -45,9 +46,8 @@ protected boolean isRequestScoped() {
return reader.isRequestScoped();
}

protected String initPackageName(String originName) {
final int dp = originName.lastIndexOf('.');
return dp > -1 ? originName.substring(0, dp) : null;
protected String initPackageName(TypeElement origin) {
return APContext.elements().getPackageOf(origin).getQualifiedName().toString();
}

protected void initWriter() throws IOException {
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<swagger.version>2.2.41</swagger.version>
<jackson.version>2.14.2</jackson.version>
<jex.version>3.0-RC10</jex.version>
<avaje.prisms.version>2.0-RC1</avaje.prisms.version>
<avaje.prisms.version>2.0-RC2</avaje.prisms.version>
<project.build.outputTimestamp>2025-12-01T15:37:17Z</project.build.outputTimestamp>
<module-info.shade>${project.build.directory}${file.separator}module-info.shade</module-info.shade>
</properties>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,15 @@

import com.fasterxml.jackson.databind.ObjectMapper;

import io.avaje.http.generator.core.APContext;
import io.avaje.http.generator.javalin.JavalinProcessor;
import io.avaje.jsonb.generator.JsonbProcessor;

class JavalinProcessorTest {

@AfterEach
void deleteGeneratedFiles() throws IOException {

APContext.clear();
Paths.get("openapi.json").toAbsolutePath().toFile().delete();
Paths.get("io.avaje.jsonb.Jsonb$GeneratedComponent").toAbsolutePath().toFile().delete();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,15 @@

import com.fasterxml.jackson.databind.ObjectMapper;

import io.avaje.http.generator.core.APContext;
import io.avaje.http.generator.helidon.nima.HelidonProcessor;

class NimaProcessorTest {

@AfterEach
void deleteGeneratedFiles() throws IOException {

APContext.clear();
Paths.get("openapi.json").toAbsolutePath().toFile().delete();
Files.walk(Paths.get("org").toAbsolutePath())
.sorted(Comparator.reverseOrder())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;

import io.avaje.http.generator.core.APContext;
import io.avaje.http.generator.sigma.SigmaProcessor;
import io.avaje.jsonb.generator.JsonbProcessor;

Expand All @@ -29,6 +30,7 @@ class SigmaProcessorTest {
@AfterEach
void deleteGeneratedFiles() throws IOException {

APContext.clear();
Paths.get("openapi.json").toAbsolutePath().toFile().delete();

Files.walk(Paths.get("org").toAbsolutePath())
Expand Down