@SuppressWarnings("unchecked") private Map<String, Object> checkRespErr(String respJson) { Map<String, Object> resp = JSON.parseObject(respJson, Map.class); Integer status = getRespStatus(resp); if (Objects.equal(JsonResponse.SERVER_ERR.getStatus(), status)){ throw new Server503Exception(); } else if (Objects.equal(JsonResponse.AUTH_FAIL.getStatus(), status)){ throw new AuthFailException(); } return resp; }
/** * Return the job instance's shard * @param jobInstanceId the job instance id * @param shardId the shard id * @return the finish shard resp */ public ShardOperateResp returnJobInstanceShard(Long jobInstanceId, Long shardId) { Map<String, Object> params = Maps.newHashMapWithExpectedSize(3); params.put("instanceId", jobInstanceId); params.put("shardId", shardId); params.put("client", Systems.hostPid()); Map<String, Object> respMap = doPostAsMap(ClientUris.SHARD_RETURN, headers, params, 0); if (respMap == null){ return null; } Integer status = getRespStatus(respMap); if (Objects.equal(JsonResponse.OK, status)){ // ok Boolean success = Boolean.valueOf(respMap.get("data").toString()); return new ShardOperateResp(null, success); } // business error Integer code = getErrCode(respMap); return new ShardOperateResp(ShardOperateRespCode.from(code), null); }
/** * Finish the job instance's shard * @param shardFinishDto the job instance id * @return the finish shard resp */ public ShardOperateResp finishJobInstanceShard(ShardFinishDto shardFinishDto) { Map<String, Object> params = MapUtil.toMap(shardFinishDto); Map<String, Object> respMap = doPostAsMap(ClientUris.SHARD_FINISH, headers, params, 0); if (respMap == null){ return null; } Integer status = getRespStatus(respMap); if (Objects.equal(JsonResponse.OK, status)){ // ok Boolean success = Boolean.valueOf(respMap.get("data").toString()); return new ShardOperateResp(null, success); } // business error Integer code = getErrCode(respMap); return new ShardOperateResp(ShardOperateRespCode.from(code), null); }
/** * Pull the job instance's shard * @param jobInstanceId the job instance id * @return the pull shard resp */ public ShardPullResp pullJobInstanceShard(Long jobInstanceId) { Map<String, Object> params = Maps.newHashMapWithExpectedSize(2); params.put("client", Systems.hostPid()); params.put("instanceId", jobInstanceId); Map<String, Object> respMap = doPostAsMap(ClientUris.SHARD_PULL, headers, params, 0); if (respMap == null){ return null; } Integer status = getRespStatus(respMap); if (Objects.equal(JsonResponse.OK, status)){ // ok PullShard shard = MapUtil.fromMap((Map<?, ?>)respMap.get("data"), PullShard.class); return new ShardPullResp(null, shard); } // business error Integer code = getErrCode(respMap); return new ShardPullResp(ShardOperateRespCode.from(code), null); }