[Improvement] Remove warnings when compiling Gravitino
- Dominant language
- Java
- Stars
- 3.2k
- Forks
- 935
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 315
Description
### What would you like to be improved?
Warning shows up when compiling Gravitino, adding -Xlint:unchecked gives this:
```
> Task :common:compileJava FAILED
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:82: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(metalake.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:132: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(catalog.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:141: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(schema.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/util/DTOConverters.java:167: warning: [unchecked] unchecked call to withProperties(Map) as a member of the raw type Builder
.withProperties(table.properties())
^
where S is a type-variable:
S extends Builder declared in class Builder
error: warnings found and -Werror specified
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:90: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:101: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:112: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/AuditDTO.java:123: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:86: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:97: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:108: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/MetalakeDTO.java:119: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:112: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:123: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:134: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:145: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:156: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/CatalogDTO.java:167: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:86: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:97: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:108: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/SchemaDTO.java:119: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:141: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:152: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:163: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:174: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:185: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/ColumnDTO.java:190: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:164: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:175: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:186: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:197: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:208: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:213: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:218: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:223: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/TableDTO.java:228: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/indexes/IndexDTO.java:93: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/indexes/IndexDTO.java:98: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
/Users/justin/gravitino/common/src/main/java/com/datastrato/gravitino/dto/rel/indexes/IndexDTO.java:103: warning: [unchecked] unchecked cast
return (S) this;
^
required: S
found: Builder
where S is a type-variable:
S extends Builder declared in class Builder
1 error
40 warnings
```
### How should we improve?
Remove the warnings. This is required by https://www.bestpractices.dev/en
Contributor guide
Research direction
Start by running the common module compilation with -Xlint:unchecked and -Werror, then inspect the reported DTO files under common/src/main/java/com/datastrato/gravitino/dto and dto/util/DTOConverters.java. Trace the raw Builder calls and unchecked casts shown in the compiler output. Done means the common compilation succeeds without unchecked warnings while preserving the DTO builder behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100