eclipse-vertx / eclipse-vertx/vertx-codegen

Not compatible with lombok

Open
#250 4 comments 3 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
111
Forks
89
PR merge metrics
No merged PRs in 30d

Description

This is a code example in the book (guide-for-java-devs.pdf), and I made a piece of changes.

1. `Wiki.java` corresponds with the database table:
```java
@AllArgsConstructor
public class Wiki {
public Long id;
public String name;
}
```

2. `WikiDbService.java`

```java
@ProxyGen
public interface WikiDbService {

@Fluent
WikiDbService fetchAll(Handler> resultHandler);

@GenIgnore
static WikiDbService create(JDBCClient dbClient, Handler> readyHandler) {
return new WikiDbServiceImpl(dbClient, readyHandler);
}

@GenIgnore
static WikiDbService createProxy(Vertx vertx, String address) {
return new WikiDbServiceVertxEBProxy(vertx, address);
}
}

```

3. `WikiDbServiceImpl.java`

```java
@Override
public WikiDbService fetchAll(Handler> resultHandler) {
dbClient.query(FETCH_ALL_SQL, queryAr -> {
if (queryAr.failed()) {
resultHandler.handle(Future.failedFuture(queryAr.cause()));
return;
}

ResultSet resultSet = queryAr.result();
List wikiList = resultSet.getResults().stream()
.map(r -> new Wiki(r.getLong(0), r.getString(1)))
.collect(Collectors.toList());

resultHandler.handle(Future.succeededFuture(new JsonArray(new Gson().toJson(wikiList))));
});

return this;
}

```

-----
Finally, I got a compilation error:

![image](https://user-images.githubusercontent.com/8326287/56575829-5e9b2a00-65f9-11e9-80f8-3fd9714cb6b2.png)

it means that there no suitable constructor for Wiki class with 2 arguments ....

But If I generate the constructor:

```java
public class Wiki {
public Long id;
public String name;

public Wiki(Long id, String name) {
this.id = id;
this.name = name;
}
}

```

It works.

So I think it's not compatible with lombok ...

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.