Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multi mappable #3613

Merged
merged 14 commits into from
Nov 19, 2024
Merged

multi mappable #3613

merged 14 commits into from
Nov 19, 2024

Conversation

awildturtok
Copy link
Collaborator

No description provided.

cleanup MAPPED tests

fix Mapped selects:
Composition was implemtented improperly
Composition was implemtented improperly
@awildturtok awildturtok requested a review from thoniTUB October 30, 2024 15:50
.enable(Feature.ALLOW_COMMENTS)
.enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS)
.enable(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE)
.disable(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hier muss ich noch schauen, wie ich das mache: Der "allowMultiple" knallt sonst, wenn er nicht gesetzt ist

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default Value ist keine gute Lösung?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

den defaultValue hat er nicht geschluckt ohne dass ich dieses Feature aktiviert habe, so als wäre der guard dafür vor dem anwenden des jsonProperty

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich habs mir jetzt nochmal im Detal angeschaut, das muss leider so umgesetzt weerden. JsonProperty Annos machen gar nichts, außer man benutzt den JacksonAnnotationInreospector aber da gehen an vielen Stellen Sachen kaputt die nichts damit zu tun haben. Das würde unsere Serialisierung komplett über den Haufen werfen

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mhmm okay, aber wir brauchen das jetzt nur für diese eine Stelle?
Denn wir setzen doch an vielen stellen defaults für primitives, z.B. hidden, 'default' . Ist das anders?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Denn wir setzen doch an vielen stellen defaults für primitives, z.B. hidden, 'default' . Ist das anders?

Da setzen wir die immer über das field-default, ich kann natürlich auch schauen ob ich hierraus einen noArgs fall mit settern machen kann. Ist aber immer etwas unschön

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Property basiert kriege ich:

Validation failed on: class com.bakdata.conquery.models.index.MapInternToExternMapper
		- name: darf nicht leer sein
		- name: darf nicht leer sein

also das will einfach nicht :/

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich kann hier nicht ganz folgen, warum name, das ist doch gar kein Primitive und warum gleich zweimal?
Ich dachte allowMultiple war der Wert der Probleme gemacht hat

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Da setzen wir die immer über das field-default, ich kann natürlich auch schauen ob ich hierraus einen noArgs fall mit settern machen kann. Ist aber immer etwas unschön

Finde ich nicht unschön, du kannst du ruhig einen private NoArgs mit private Settern machen. Nach Außen hast du dann nur den AllArgs/RequiredArgs

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich dachte allowMultiple war der Wert der Probleme gemacht hat

SOllte es auch sein, ich hab schon wirklich alle Varianten von NoArgs+Anno+Setter probiert wenn es dann allowmultiple schluckt, failed es bei name.

Copy link
Collaborator

@thoniTUB thoniTUB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die unterschiedlichen ResultRenderer müssen wir hier nicht beachten/testen, oder?
Bin mir gerade nicht ganz sicher

.enable(Feature.ALLOW_COMMENTS)
.enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS)
.enable(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE)
.disable(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default Value ist keine gute Lösung?


void put(String key, Map<String, String> templateToConcrete);

int size();

void finalizer();

V external(String key, V defaultValue);

Collection<V> externalMultiple(String key, V defaultValue);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Müsste das nicht eigentlich so sein?:

Suggested change
Collection<V> externalMultiple(String key, V defaultValue);
Collection<V> externalMultiple(String key, Collection<V> defaultValue);

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich hab die defaultValues mal in den caller gesteckt, das war eine leaky abstraktion

@awildturtok awildturtok requested a review from thoniTUB November 6, 2024 12:04
thoniTUB
thoniTUB approved these changes Nov 7, 2024
.enable(Feature.ALLOW_COMMENTS)
.enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS)
.enable(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE)
.disable(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich kann hier nicht ganz folgen, warum name, das ist doch gar kein Primitive und warum gleich zweimal?
Ich dachte allowMultiple war der Wert der Probleme gemacht hat

.enable(Feature.ALLOW_COMMENTS)
.enable(Feature.ALLOW_UNQUOTED_CONTROL_CHARS)
.enable(DeserializationFeature.FAIL_ON_INVALID_SUBTYPE)
.disable(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Da setzen wir die immer über das field-default, ich kann natürlich auch schauen ob ich hierraus einen noArgs fall mit settern machen kann. Ist aber immer etwas unschön

Finde ich nicht unschön, du kannst du ruhig einen private NoArgs mit private Settern machen. Nach Außen hast du dann nur den AllArgs/RequiredArgs

@awildturtok awildturtok merged commit 3c49cfa into develop Nov 19, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants