/** * Create a new Model. * * @param model {@link org.wso2.carbon.ml.commons.domain.MLModelData} object * @return JSON of {@link org.wso2.carbon.ml.commons.domain.MLModelData} object */ @POST @Produces("application/json") @Consumes("application/json") public Response createModel(MLModelData model) { if (model.getAnalysisId() == 0 || model.getVersionSetId() == 0) { logger.error("Required parameters missing"); return Response.status(Response.Status.BAD_REQUEST) .entity("Required parameters missing") .build(); } PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); try { int tenantId = carbonContext.getTenantId(); String userName = carbonContext.getUsername(); model.setTenantId(tenantId); model.setUserName(userName); MLModelData insertedModel = mlModelHandler.createModel(model); return Response.ok(insertedModel).build(); } catch (MLModelHandlerException e) { String msg = MLUtils.getErrorMsg("Error occurred while creating a model : " + model, e); logger.error(msg, e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR) .entity(new MLErrorBean(e.getMessage())) .build(); } }