Skip to content

Commit

Permalink
[crd-generator] Fix inconsistent additionalPrinterColumns jsonPath
Browse files Browse the repository at this point in the history
  • Loading branch information
andreaTP committed Nov 29, 2022
1 parent 009974f commit 12e5932
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public AddAdditionPrinterColumnDecorator(String name, String version, String typ
@Override
public void andThenVisit(CustomResourceDefinitionVersionFluent<?> spec) {
Predicate<CustomResourceColumnDefinitionBuilder> matchingColumn = col -> col.getName() != null
&& col.getName().equals(columnName);
&& col.getName().equals(columnName) && col.getJsonPath() != null && col.getJsonPath().equals(path);
spec.removeMatchingFromAdditionalPrinterColumns(matchingColumn);

spec.addNewAdditionalPrinterColumn()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public AddAdditionPrinterColumnDecorator(String resourceName, String resourceVer
@Override
public void andThenVisit(CustomResourceDefinitionVersionFluent<?> spec) {
Predicate<CustomResourceColumnDefinitionBuilder> matchingColumn = col -> col.getName() != null
&& col.getName().equals(columnName);
&& col.getName().equals(columnName) && col.getJSONPath() != null && col.getJSONPath().equals(path);
spec.removeMatchingFromAdditionalPrinterColumns(matchingColumn);

spec.addNewAdditionalPrinterColumn()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
*/
package io.fabric8.crd.example.joke;

import io.fabric8.kubernetes.model.annotation.PrinterColumn;

public class JokeRequestStatus {
public enum State {
CREATED,
Expand All @@ -28,6 +30,9 @@ public enum State {
private boolean error;
private String message;

@PrinterColumn(name = "jokeCategory")
private JokeRequestSpec.Category category = JokeRequestSpec.Category.Any;

public State getState() {
return state;
}
Expand All @@ -51,4 +56,12 @@ public String getMessage() {
public void setMessage(String message) {
this.message = message;
}

public JokeRequestSpec.Category getCategory() {
return category;
}

public void setCategory(JokeRequestSpec.Category category) {
this.category = category;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ void jokerequestCRDShouldWork() {
// printer columns should be ordered in the alphabetical order of their json path
final List<CustomResourceColumnDefinition> printerColumns = version
.getAdditionalPrinterColumns();
assertEquals(2, printerColumns.size());
assertEquals(3, printerColumns.size());
CustomResourceColumnDefinition columnDefinition = printerColumns.get(0);
assertEquals("string", columnDefinition.getType());
assertEquals(".spec.category", columnDefinition.getJsonPath());
Expand All @@ -356,6 +356,10 @@ void jokerequestCRDShouldWork() {
assertEquals("string", columnDefinition.getType());
assertEquals(".spec.excluded", columnDefinition.getJsonPath());
assertEquals("excludedTopics", columnDefinition.getName());
columnDefinition = printerColumns.get(2);
assertEquals("string", columnDefinition.getType());
assertEquals(".status.category", columnDefinition.getJsonPath());
assertEquals("jokeCategory", columnDefinition.getName());
CustomResourceValidation schema = version.getSchema();
assertNotNull(schema);
Map<String, JSONSchemaProps> properties = schema.getOpenAPIV3Schema().getProperties();
Expand Down

0 comments on commit 12e5932

Please sign in to comment.