@POST @Path("/data/datasets/{name}/admin/create") public void create(FullHttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String name) { propagateUserId(request); InternalDatasetCreationParams params = GSON.fromJson(request.content().toString(StandardCharsets.UTF_8), InternalDatasetCreationParams.class); Preconditions.checkArgument(params.getProperties() != null, "Missing required 'instanceProps' parameter."); Preconditions.checkArgument(params.getTypeMeta() != null, "Missing required 'typeMeta' parameter."); DatasetProperties props = params.getProperties(); DatasetTypeMeta typeMeta = params.getTypeMeta(); try { DatasetId instanceId = new DatasetId(namespaceId, name); DatasetCreationResponse response = datasetAdminService.createOrUpdate(instanceId, typeMeta, props, null); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(response)); } catch (BadRequestException | IllegalArgumentException e) { responder.sendString(HttpResponseStatus.BAD_REQUEST, e.getMessage()); } catch (Exception e) { responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, e.getMessage()); } }
@Override public DatasetCreationResponse create(DatasetId datasetInstanceId, DatasetTypeMeta typeMeta, DatasetProperties props) throws Exception { InternalDatasetCreationParams creationParams = new InternalDatasetCreationParams(typeMeta, props); HttpResponse response = doRequest(datasetInstanceId, "create", GSON.toJson(creationParams)); return ObjectResponse.fromJsonBody(response, DatasetCreationResponse.class).getResponseObject(); }
@Override public DatasetCreationResponse create(DatasetId datasetInstanceId, DatasetTypeMeta typeMeta, DatasetProperties props) throws Exception { InternalDatasetCreationParams creationParams = new InternalDatasetCreationParams(typeMeta, props); HttpResponse response = doRequest(datasetInstanceId, "create", GSON.toJson(creationParams)); return ObjectResponse.fromJsonBody(response, DatasetCreationResponse.class).getResponseObject(); }
@POST @Path("/data/datasets/{name}/admin/create") public void create(FullHttpRequest request, HttpResponder responder, @PathParam("namespace-id") String namespaceId, @PathParam("name") String name) { propagateUserId(request); InternalDatasetCreationParams params = GSON.fromJson(request.content().toString(StandardCharsets.UTF_8), InternalDatasetCreationParams.class); Preconditions.checkArgument(params.getProperties() != null, "Missing required 'instanceProps' parameter."); Preconditions.checkArgument(params.getTypeMeta() != null, "Missing required 'typeMeta' parameter."); DatasetProperties props = params.getProperties(); DatasetTypeMeta typeMeta = params.getTypeMeta(); try { DatasetId instanceId = new DatasetId(namespaceId, name); DatasetCreationResponse response = datasetAdminService.createOrUpdate(instanceId, typeMeta, props, null); responder.sendJson(HttpResponseStatus.OK, GSON.toJson(response)); } catch (BadRequestException | IllegalArgumentException e) { responder.sendString(HttpResponseStatus.BAD_REQUEST, e.getMessage()); } catch (Exception e) { responder.sendString(HttpResponseStatus.INTERNAL_SERVER_ERROR, e.getMessage()); } }