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

Service decorator doesn't work for links #25

Closed
abentele opened this issue Nov 3, 2015 · 2 comments
Closed

Service decorator doesn't work for links #25

abentele opened this issue Nov 3, 2015 · 2 comments

Comments

@abentele
Copy link

abentele commented Nov 3, 2015

Use case: service decorator für Update- und Creator-Service, um den Benutzer beim Anlegen eines Duplikats zu warnen: der User bekommt einen Hinweis der Art: "Der Name ist nicht eindeutig. Möchten Sie wirklich ein Duplikat anlegen?", welchen er mit "Ok" oder "Cancel" bestätigen kann.

Die Service Decorator wurden entsprechend registriert, funktionieren jedoch nicht im Zusammenhang mit Links: legt man einen neuen Link inkl. neuem Bean an, wird der Service Decorator nicht verwendet, sondern der Default Update-Service bzw. Default Creator-Service.

Ich habe das nochmal genauer analysiert. Vielleicht liegt das Problem in

org.jowidgets.cap.service.impl.BeanEntityServiceBuilderImpl.BeanEntityLinkBluePrintImpl.createLinkServicesBuilder(Map<Object, BeanEntityPreBuild>)

Der Code

builder.setLinkableCreatorService(createCreatorService(linkableBeanType, linkableBeanTypeId, linkableProperties));
builder.setLinkableDeleterService(createDeleterService(linkableBeanType, linkableBeanTypeId));

müsste vermutlich so aussehen:

builder.setLinkableCreatorService(linkablePrebuild. getCreatorService());
builder.setLinkableDeleterService(linkablePrebuild. getDeleterService());
@herrgrossmann
Copy link
Member

Das Problem konnte ich nachstellen. Der vorgeschlagene Patch:

builder.setLinkableCreatorService(linkablePrebuild. getCreatorService());
builder.setLinkableDeleterService(linkablePrebuild. getDeleterService());

funktioniert bei mir aber nur, wenn ich die CreatorServices explizit für die LinkableEntityId registriere.

Sie commit: jo-source/jo-client-platform-samples@3bcc5f5

Getestet in Kitchensink2, Komponente Users, Hinzufügen einer Person zu einer Rolle. Hinzufügen einer Person zu einer Person. Personen Creator Service wurde dekoriert, es wird Name und Vorname überprüft.

Der Patch ist ab Version 0.48.0 verfügbar.

@abentele
Copy link
Author

Verifiziert: Test ok.

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

No branches or pull requests

2 participants