Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class BaseAdapter<SERVICE extends BaseService, REQ, RES extends BaseResponse> {
- private static final Logger LOG = LoggerFactory.getLogger(BaseAdapter.class);
- @SuppressWarnings("unchecked")
- public RES execute(Class<SERVICE> classService, Class<REQ> classRequest, Class<RES> classResponse, String body) {
- try {
- REQ req = GsonUtils.fromJson(body, classRequest);
- BasicRequest basicRequest = transform(req);
- if (basicRequest != null) {
- SERVICE service = classService.newInstance();
- return (RES) service.execute(basicRequest);
- } else {
- RES res = classResponse.newInstance();
- res.setMessage(MessageHolder.getMessage(MessageHolder.GLOBAL_ERROR)).setSuccess(false);
- return res;
- }
- } catch (InstantiationException | IllegalAccessException e) {
- LOG.error(Constants.EXCEPTION_PREFIX, e);
- return null;
- }
- }
- public abstract BasicRequest transform(REQ request);
- }
Add Comment
Please, Sign In to add comment