55import java .util .concurrent .ExecutorService ;
66
77import info .unterrainer .commons .httpserver .exceptions .GracefulCancelationException ;
8+ import info .unterrainer .commons .httpserver .extensions .AsyncExtensionContext ;
89import info .unterrainer .commons .httpserver .extensions .delegates .PostDeleteAsync ;
910import info .unterrainer .commons .httpserver .extensions .delegates .PostDeleteSync ;
1011import info .unterrainer .commons .httpserver .extensions .delegates .PostGetListAsync ;
@@ -52,10 +53,10 @@ public class HandlerExtensions<P extends BasicJpa, J extends BasicJson, E> {
5253 private final List <PreModifyAsync <P , J >> preModifyAsync = new ArrayList <>();
5354 private final List <PreModifySync <P , J , E >> preModifySync = new ArrayList <>();
5455
55- public J runPostGetSingle (final Context ctx , final E entityManager , final Long receivedId , final P readJpa ,
56- final J response , final ExecutorService executorService ) {
56+ public J runPostGetSingle (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
57+ final Long receivedId , final P readJpa , final J response , final ExecutorService executorService ) {
5758 for (PostGetSingleAsync <P , J > h : postGetSingleAsync ())
58- executorService .execute (() -> h .handle (receivedId , readJpa , response ));
59+ executorService .execute (() -> h .handle (asyncCtx , receivedId , readJpa , response ));
5960
6061 J result = response ;
6162 for (PostGetSingleSync <P , J , E > h : postGetSingleSync ()) {
@@ -66,10 +67,11 @@ public J runPostGetSingle(final Context ctx, final E entityManager, final Long r
6667 return result ;
6768 }
6869
69- public ListJson <J > runPostGetList (final Context ctx , final E entityManager , final Long size , final Long offset ,
70- final ListJson <P > readList , final ListJson <J > response , final ExecutorService executorService ) {
70+ public ListJson <J > runPostGetList (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
71+ final Long size , final Long offset , final ListJson <P > readList , final ListJson <J > response ,
72+ final ExecutorService executorService ) {
7173 for (PostGetListAsync <P , J > h : postGetListAsync ())
72- executorService .execute (() -> h .handle (size , offset , readList , response ));
74+ executorService .execute (() -> h .handle (asyncCtx , size , offset , readList , response ));
7375
7476 ListJson <J > result = response ;
7577 for (PostGetListSync <P , J , E > h : postGetListSync ()) {
@@ -80,10 +82,10 @@ public ListJson<J> runPostGetList(final Context ctx, final E entityManager, fina
8082 return result ;
8183 }
8284
83- public P runPreInsert (final Context ctx , final E entityManager , final J receivedJson , final P resultJpa ,
84- final ExecutorService executorService ) {
85+ public P runPreInsert (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
86+ final J receivedJson , final P resultJpa , final ExecutorService executorService ) {
8587 for (PreInsertAsync <P , J > h : preInsertAsync ())
86- executorService .execute (() -> h .handle (receivedJson , resultJpa ));
88+ executorService .execute (() -> h .handle (asyncCtx , receivedJson , resultJpa ));
8789
8890 P result = resultJpa ;
8991 for (PreInsertSync <P , J , E > h : preInsertSync ()) {
@@ -94,10 +96,11 @@ public P runPreInsert(final Context ctx, final E entityManager, final J received
9496 return result ;
9597 }
9698
97- public J runPostInsert (final Context ctx , final E entityManager , final J receivedJson , final P mappedJpa ,
98- final P createdJpa , final J response , final ExecutorService executorService ) {
99+ public J runPostInsert (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
100+ final J receivedJson , final P mappedJpa , final P createdJpa , final J response ,
101+ final ExecutorService executorService ) {
99102 for (PostInsertAsync <P , J > h : postInsertAsync ())
100- executorService .execute (() -> h .handle (receivedJson , mappedJpa , createdJpa , response ));
103+ executorService .execute (() -> h .handle (asyncCtx , receivedJson , mappedJpa , createdJpa , response ));
101104
102105 J result = response ;
103106 for (PostInsertSync <P , J , E > h : postInsertSync ()) {
@@ -108,10 +111,11 @@ public J runPostInsert(final Context ctx, final E entityManager, final J receive
108111 return result ;
109112 }
110113
111- public P runPreModify (final Context ctx , final E entityManager , final Long receivedId , final J receivedJson ,
112- final P readJpa , final P resultJpa , final ExecutorService executorService ) {
114+ public P runPreModify (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
115+ final Long receivedId , final J receivedJson , final P readJpa , final P resultJpa ,
116+ final ExecutorService executorService ) {
113117 for (PreModifyAsync <P , J > h : preModifyAsync ())
114- executorService .execute (() -> h .handle (receivedId , receivedJson , readJpa , resultJpa ));
118+ executorService .execute (() -> h .handle (asyncCtx , receivedId , receivedJson , readJpa , resultJpa ));
115119
116120 P result = resultJpa ;
117121 for (PreModifySync <P , J , E > h : preModifySync ()) {
@@ -122,12 +126,12 @@ public P runPreModify(final Context ctx, final E entityManager, final Long recei
122126 return result ;
123127 }
124128
125- public J runPostModify (final Context ctx , final E entityManager , final Long receivedId , final J receivedJson ,
126- final P readJpa , final P mappedJpa , final P persistedJpa , final J response ,
127- final ExecutorService executorService ) {
129+ public J runPostModify (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
130+ final Long receivedId , final J receivedJson , final P readJpa , final P mappedJpa , final P persistedJpa ,
131+ final J response , final ExecutorService executorService ) {
128132 for (PostModifyAsync <P , J > h : postModifyAsync ())
129- executorService
130- . execute (( ) -> h .handle (receivedId , receivedJson , readJpa , mappedJpa , persistedJpa , response ));
133+ executorService . execute (
134+ ( ) -> h .handle (asyncCtx , receivedId , receivedJson , readJpa , mappedJpa , persistedJpa , response ));
131135
132136 J result = response ;
133137 for (PostModifySync <P , J , E > h : postModifySync ()) {
@@ -138,10 +142,10 @@ public J runPostModify(final Context ctx, final E entityManager, final Long rece
138142 return result ;
139143 }
140144
141- public Long runPreDelete (final Context ctx , final E entityManager , final Long receivedId ,
142- final ExecutorService executorService ) {
145+ public Long runPreDelete (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
146+ final Long receivedId , final ExecutorService executorService ) {
143147 for (PreDeleteAsync h : preDeleteAsync ())
144- executorService .execute (() -> h .handle (receivedId ));
148+ executorService .execute (() -> h .handle (asyncCtx , receivedId ));
145149
146150 Long result = receivedId ;
147151 for (PreDeleteSync <E > h : preDeleteSync ()) {
@@ -152,10 +156,10 @@ public Long runPreDelete(final Context ctx, final E entityManager, final Long re
152156 return result ;
153157 }
154158
155- public void runPostDelete (final Context ctx , final E entityManager , final Long receivedId ,
156- final ExecutorService executorService ) {
159+ public void runPostDelete (final Context ctx , final AsyncExtensionContext asyncCtx , final E entityManager ,
160+ final Long receivedId , final ExecutorService executorService ) {
157161 for (PostDeleteAsync h : postDeleteAsync ())
158- executorService .execute (() -> h .handle (receivedId ));
162+ executorService .execute (() -> h .handle (asyncCtx , receivedId ));
159163
160164 for (PostDeleteSync <E > h : postDeleteSync ())
161165 if (!h .handle (ctx , entityManager , receivedId ))
0 commit comments