mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-26 17:37:33 +00:00
Modify owners and compliance API exceptions (#858)
This commit is contained in:
parent
f1b61d6773
commit
0b9262eaba
@ -24,6 +24,7 @@ import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.persistence.EntityManagerFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import wherehows.models.table.DsCompliance;
|
||||
@ -50,7 +51,8 @@ public class DatasetComplianceDao extends BaseDao {
|
||||
return findBy(DsCompliance.class, "datasetId", datasetId);
|
||||
}
|
||||
|
||||
public DatasetCompliance getDatasetComplianceByDatasetId(int datasetId, String datasetUrn) throws IOException {
|
||||
@Nullable
|
||||
public DatasetCompliance getDatasetComplianceByDatasetId(int datasetId, @Nonnull String datasetUrn) throws Exception {
|
||||
return dsComplianceToDatasetCompliance(findComplianceById(datasetId));
|
||||
}
|
||||
|
||||
@ -118,7 +120,8 @@ public class DatasetComplianceDao extends BaseDao {
|
||||
dsCompliance.setModifiedBy(actor);
|
||||
}
|
||||
|
||||
public DsComplianceSuggestion findComplianceSuggestionByUrn(@Nonnull String datasetUrn) {
|
||||
@Nullable
|
||||
public DsComplianceSuggestion findComplianceSuggestionByUrn(@Nonnull String datasetUrn) throws Exception {
|
||||
throw new UnsupportedOperationException("Compliance Suggestion not implemented.");
|
||||
}
|
||||
|
||||
@ -163,7 +166,7 @@ public class DatasetComplianceDao extends BaseDao {
|
||||
* @return DatasetCompliance
|
||||
* @throws IOException
|
||||
*/
|
||||
public DatasetCompliance dsComplianceToDatasetCompliance(DsCompliance dsCompliance) throws IOException {
|
||||
public DatasetCompliance dsComplianceToDatasetCompliance(@Nonnull DsCompliance dsCompliance) throws IOException {
|
||||
DatasetCompliance compliance = new DatasetCompliance();
|
||||
compliance.setDatasetId(dsCompliance.getDatasetId());
|
||||
compliance.setDatasetUrn(dsCompliance.getDatasetUrn());
|
||||
|
||||
@ -16,6 +16,8 @@ package wherehows.dao.view;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.persistence.EntityManagerFactory;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -43,7 +45,8 @@ public class OwnerViewDao extends BaseViewDao {
|
||||
* @param datasetUrn String
|
||||
* @return List of DatasetOwner
|
||||
*/
|
||||
public List<DatasetOwner> getDatasetOwnersByUrn(String datasetUrn) {
|
||||
@Nullable
|
||||
public List<DatasetOwner> getDatasetOwnersByUrn(@Nonnull String datasetUrn) throws Exception {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("datasetUrn", datasetUrn);
|
||||
|
||||
|
||||
@ -307,21 +307,31 @@ public class Dataset extends Controller {
|
||||
return ok(result);
|
||||
}
|
||||
|
||||
public static Result getDatasetOwnersByID(int id) {
|
||||
ObjectNode result = Json.newObject();
|
||||
|
||||
public static Promise<Result> getDatasetOwnersByID(int id) {
|
||||
List<DatasetOwner> owners = null;
|
||||
try {
|
||||
String urn = getDatasetUrnByIdOrCache(id);
|
||||
|
||||
result.set("owners", Json.toJson(OWNER_VIEW_DAO.getDatasetOwnersByUrn(urn)));
|
||||
result.put("status", "ok");
|
||||
owners = OWNER_VIEW_DAO.getDatasetOwnersByUrn(urn);
|
||||
} catch (Exception e) {
|
||||
Logger.warn("Failed to get owners: " + e.toString());
|
||||
result.put("status", "failed");
|
||||
result.put("message", "Error: " + e.getMessage());
|
||||
if (e.toString().contains("Response status 404")) {
|
||||
JsonNode result = Json.newObject().put("status", "failed").put("msg", "Not found");
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
Logger.error("Fetch owners Error: ", e);
|
||||
JsonNode result =
|
||||
Json.newObject().put("status", "failed").put("error", "true").put("msg", "Fetch data Error: " + e.toString());
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
return ok(result);
|
||||
if (owners == null) {
|
||||
JsonNode result = Json.newObject().put("status", "failed").put("msg", "Not found");
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
JsonNode result = Json.newObject().put("status", "ok").set("owners", Json.toJson(owners));
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
public static Result updateDatasetOwners(int id) {
|
||||
@ -872,17 +882,23 @@ public class Dataset extends Controller {
|
||||
|
||||
record = COMPLIANCE_DAO.getDatasetComplianceByDatasetId(datasetId, urn);
|
||||
} catch (Exception e) {
|
||||
Logger.warn("Failed to get compliance: " + e.toString());
|
||||
JsonNode result = Json.newObject()
|
||||
.put("status", "failed")
|
||||
.put("error", "true")
|
||||
.put("msg", "Fetch data Error: " + e.getMessage());
|
||||
if (e.toString().contains("Response status 404")) {
|
||||
JsonNode result = Json.newObject().put("status", "failed").put("msg", "Not found");
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
Logger.error("Fetch compliance Error: ", e);
|
||||
JsonNode result =
|
||||
Json.newObject().put("status", "failed").put("error", "true").put("msg", "Fetch data Error: " + e.toString());
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
if (record == null) {
|
||||
JsonNode result = Json.newObject().put("status", "failed").put("msg", "Not found");
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
JsonNode result = Json.newObject().put("status", "ok").set("complianceInfo", Json.toJson(record));
|
||||
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
@ -941,12 +957,14 @@ public class Dataset extends Controller {
|
||||
try {
|
||||
record = COMPLIANCE_DAO.findComplianceSuggestionByUrn(datasetUrn);
|
||||
} catch (Exception e) {
|
||||
Logger.warn("Failed to get compliance suggestion: " + e.toString());
|
||||
JsonNode result = Json.newObject()
|
||||
.put("status", "failed")
|
||||
.put("error", "true")
|
||||
.put("msg", "Fetch data Error: " + e.getMessage());
|
||||
if (e.toString().contains("Response status 404")) {
|
||||
JsonNode result = Json.newObject().put("status", "failed").put("msg", "Not found");
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
Logger.error("Fetch compliance suggestion Error: ", e);
|
||||
JsonNode result =
|
||||
Json.newObject().put("status", "failed").put("error", "true").put("msg", "Fetch data Error: " + e.toString());
|
||||
return Promise.promise(() -> ok(result));
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user