2121import java .util .concurrent .TimeoutException ;
2222
2323import stannieman .commonservices .helpers .ResultCodeHelper ;
24+ import stannieman .commonservices .models .DataServiceResult ;
2425import stannieman .commonservices .models .GeneralResultCodes ;
2526import stannieman .commonservices .models .IHasDataAndSuccessState ;
2627import stannieman .commonservices .models .ServiceResult ;
@@ -69,26 +70,26 @@ protected <SuccessResponseDataType, ErrorResponseDataType extends ErrorResponseD
6970 if (!uriResult .isSuccess ()) {
7071 RestClientResultCodes resultCode = ResultCodeHelper .GetResultCodeOrNull (uriResult , RestClientResultCodes .class );
7172 return resultCode != null
72- ? new ServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(resultCode )
73- : new ServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(RestClientResultCodes .CANNOT_CREATE_URI );
73+ ? new DataServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(resultCode )
74+ : new DataServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(RestClientResultCodes .CANNOT_CREATE_URI );
7475 }
7576 String uriString = uriResult .getData ();
7677
7778 IHasDataAndSuccessState <String > bodyStringResult = getBodyString (requestProperties .getBody ());
7879 if (!bodyStringResult .isSuccess ()) {
7980 RestClientResultCodes resultCode = ResultCodeHelper .GetResultCodeOrNull (uriResult , RestClientResultCodes .class );
8081 return resultCode != null
81- ? new ServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(resultCode )
82- : new ServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(RestClientResultCodes .CANNOT_CREATE_JSON_STRING_FROM_OBJECT );
82+ ? new DataServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(resultCode )
83+ : new DataServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(RestClientResultCodes .CANNOT_CREATE_JSON_STRING_FROM_OBJECT );
8384 }
8485 String bodyString = bodyStringResult .getData ();
8586
8687 IHasDataAndSuccessState <NetworkResponse > networkResponseResult = getNetworkResponse (method , uriString , headers , bodyString );
8788 if (!networkResponseResult .isSuccess ()) {
8889 RestClientResultCodes resultCode = ResultCodeHelper .GetResultCodeOrNull (uriResult , RestClientResultCodes .class );
8990 return resultCode != null
90- ? new ServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(resultCode )
91- : new ServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(RestClientResultCodes .REQUEST_FAILED );
91+ ? new DataServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(resultCode )
92+ : new DataServiceResult <RestResult <SuccessResponseDataType , ErrorResponseDataType >, RestClientResultCodes >(RestClientResultCodes .REQUEST_FAILED );
9293 }
9394 NetworkResponse networkResponse = networkResponseResult .getData ();
9495
@@ -101,21 +102,21 @@ private IHasDataAndSuccessState<String> getUriString(String subPath, String[] su
101102 try {
102103 String uriString = new URI (scheme , null , host , port , absoluteEndpointPath + parametrizedSubPath , null , null ).toString ();
103104 String queryString = QueryParamsHelper .getQueryString (queryParameters , ENCODING );
104- return new ServiceResult <>(uriString + queryString , GeneralResultCodes .OK );
105+ return new DataServiceResult <>(uriString + queryString , GeneralResultCodes .OK );
105106 } catch (Exception e ) {
106- return new ServiceResult <>(CANNOT_CREATE_URI );
107+ return new DataServiceResult <>(CANNOT_CREATE_URI );
107108 }
108109 }
109110
110111 private IHasDataAndSuccessState <String > getBodyString (Object body ) {
111112 if (body != null ) {
112113 try {
113- return new ServiceResult <>(objectMapper .writeValueAsString (body ), GeneralResultCodes .OK );
114+ return new DataServiceResult <>(objectMapper .writeValueAsString (body ), GeneralResultCodes .OK );
114115 } catch (Exception e ) {
115- return new ServiceResult <>(RestClientResultCodes .CANNOT_CREATE_JSON_STRING_FROM_OBJECT );
116+ return new DataServiceResult <>(RestClientResultCodes .CANNOT_CREATE_JSON_STRING_FROM_OBJECT );
116117 }
117118 }
118- return new ServiceResult <>();
119+ return new DataServiceResult <>();
119120 }
120121
121122 private IHasDataAndSuccessState <NetworkResponse > getNetworkResponse (int method , String uriString , Map <String , String > headers , String bodyString ) {
@@ -127,58 +128,58 @@ private IHasDataAndSuccessState<NetworkResponse> getNetworkResponse(int method,
127128 response = future .get (timeout , TimeUnit .MILLISECONDS );
128129 }
129130 catch (InterruptedException e ) {
130- return new ServiceResult <>(RestClientResultCodes .REQUEST_INTERRUPTED );
131+ return new DataServiceResult <>(RestClientResultCodes .REQUEST_INTERRUPTED );
131132 } catch (ExecutionException e ) {
132133 Throwable cause = e .getCause ();
133134 if (!(cause instanceof VolleyError )) {
134- return new ServiceResult <>(RestClientResultCodes .REQUEST_FAILED );
135+ return new DataServiceResult <>(RestClientResultCodes .REQUEST_FAILED );
135136 }
136137 VolleyError error = (VolleyError ) cause ;
137138 if (error .networkResponse == null ) {
138- return new ServiceResult <>(RestClientResultCodes .REQUEST_FAILED );
139+ return new DataServiceResult <>(RestClientResultCodes .REQUEST_FAILED );
139140 }
140141 response = error .networkResponse ;
141142 } catch (TimeoutException e ) {
142- return new ServiceResult <>(RestClientResultCodes .REQUEST_TIMED_OUT );
143+ return new DataServiceResult <>(RestClientResultCodes .REQUEST_TIMED_OUT );
143144 }
144145
145- return new ServiceResult <>(response , GeneralResultCodes .OK );
146+ return new DataServiceResult <>(response , GeneralResultCodes .OK );
146147 }
147148
148149 private <SuccessResponseDataType , ErrorResponseDataType extends ErrorResponseDataBase > IHasDataAndSuccessState <RestResult <SuccessResponseDataType , ErrorResponseDataType >> createRestResultFromNetworkResponse (Class <SuccessResponseDataType > successResponseDataType , Class <ErrorResponseDataType > errorResponseDataType , NetworkResponse networkResponse , Integer [] successStatusCodes ) {
149150 String jsonString = NetworkResponseRequest .parseToString (networkResponse );
150151
151152 if (isStatusCodeOk (networkResponse .statusCode , successStatusCodes )) {
152153 if (successResponseDataType == null ) {
153- return new ServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(networkResponse .statusCode ), GeneralResultCodes .OK );
154+ return new DataServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(networkResponse .statusCode ), GeneralResultCodes .OK );
154155 }
155156 else {
156157 try {
157158 SuccessResponseDataType successObject = objectMapper .readValue (jsonString , successResponseDataType );
158- return new ServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(networkResponse .statusCode , successObject ), GeneralResultCodes .OK );
159+ return new DataServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(networkResponse .statusCode , successObject ), GeneralResultCodes .OK );
159160 } catch (JsonMappingException e ) {
160- return new ServiceResult <>(RestClientResultCodes .JSON_RESPONSE_DATA_TYPE_MISMATCH );
161+ return new DataServiceResult <>(RestClientResultCodes .JSON_RESPONSE_DATA_TYPE_MISMATCH );
161162 } catch (JsonParseException e ) {
162- return new ServiceResult <>(RestClientResultCodes .RESPONSE_IS_NOT_VALID_JSON );
163+ return new DataServiceResult <>(RestClientResultCodes .RESPONSE_IS_NOT_VALID_JSON );
163164 } catch (IOException e ) {
164- return new ServiceResult <>(RestClientResultCodes .CANNOT_CREATE_OBJECT_FROM_SUCCESS_RESPONSE );
165+ return new DataServiceResult <>(RestClientResultCodes .CANNOT_CREATE_OBJECT_FROM_SUCCESS_RESPONSE );
165166 }
166167 }
167168 }
168169
169170 if (errorResponseDataType == null ) {
170- return new ServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(false , networkResponse .statusCode ));
171+ return new DataServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(false , networkResponse .statusCode ));
171172 }
172173 else {
173174 try {
174175 ErrorResponseDataType errorObject = objectMapper .readValue (jsonString , errorResponseDataType );
175- return new ServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(networkResponse .statusCode , errorObject ), GeneralResultCodes .OK );
176+ return new DataServiceResult <>(new RestResult <SuccessResponseDataType , ErrorResponseDataType >(networkResponse .statusCode , errorObject ), GeneralResultCodes .OK );
176177 } catch (JsonMappingException e ) {
177- return new ServiceResult <>(RestClientResultCodes .JSON_ERROR_DATA_TYPE_MISMATCH );
178+ return new DataServiceResult <>(RestClientResultCodes .JSON_ERROR_DATA_TYPE_MISMATCH );
178179 } catch (JsonParseException e ) {
179- return new ServiceResult <>(RestClientResultCodes .RESPONSE_IS_NOT_VALID_JSON );
180+ return new DataServiceResult <>(RestClientResultCodes .RESPONSE_IS_NOT_VALID_JSON );
180181 } catch (IOException e ) {
181- return new ServiceResult <>(RestClientResultCodes .CANNOT_CREATE_OBJECT_FROM_ERROR_RESPONSE );
182+ return new DataServiceResult <>(RestClientResultCodes .CANNOT_CREATE_OBJECT_FROM_ERROR_RESPONSE );
182183 }
183184 }
184185 }
0 commit comments