@Override public void serialize(AtlasFullTextResult result, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (result != null && result.getEntity() != null) { Map<String, Object> valueMap = new HashMap<>(); valueMap.put(V1_KEY_GUID, result.getEntity().getGuid()); valueMap.put(V1_KEY_TYPENAME, result.getEntity().getTypeName()); valueMap.put(V1_KEY_SCORE, result.getScore()); jgen.writeObject(valueMap); } } }
private List<AtlasFullTextResult> getIndexQueryResults(AtlasIndexQuery query, QueryParams params, boolean excludeDeletedEntities) throws AtlasBaseException { List<AtlasFullTextResult> ret = new ArrayList<>(); Iterator<Result> iter = query.vertices(); while (iter.hasNext() && ret.size() < params.limit()) { Result idxQueryResult = iter.next(); AtlasVertex vertex = idxQueryResult.getVertex(); if (skipDeletedEntities(excludeDeletedEntities, vertex)) { continue; } String guid = vertex != null ? vertex.getProperty(Constants.GUID_PROPERTY_KEY, String.class) : null; if (guid != null) { AtlasEntityHeader entity = entityRetriever.toAtlasEntityHeader(vertex); Double score = idxQueryResult.getScore(); ret.add(new AtlasFullTextResult(entity, score)); } } return ret; }
@Override public void scrubSearchResults(AtlasSearchResultScrubRequest request) throws AtlasAuthorizationException { if (LOG.isDebugEnabled()) { LOG.debug("==> SimpleAtlasAuthorizer.scrubSearchResults({})", request); } final AtlasSearchResult result = request.getSearchResult(); if (CollectionUtils.isNotEmpty(result.getEntities())) { for (AtlasEntityHeader entity : result.getEntities()) { checkAccessAndScrub(entity, request); } } if (CollectionUtils.isNotEmpty(result.getFullTextResult())) { for (AtlasFullTextResult fullTextResult : result.getFullTextResult()) { if (fullTextResult != null) { checkAccessAndScrub(fullTextResult.getEntity(), request); } } } if (MapUtils.isNotEmpty(result.getReferredEntities())) { for (AtlasEntityHeader entity : result.getReferredEntities().values()) { checkAccessAndScrub(entity, request); } } if (LOG.isDebugEnabled()) { LOG.debug("<== SimpleAtlasAuthorizer.scrubSearchResults({}): {}", request, result); } }
@Override public void scrubSearchResults(AtlasSearchResultScrubRequest request) throws AtlasAuthorizationException { if (LOG.isDebugEnabled()) { LOG.debug("==> SimpleAtlasAuthorizer.scrubSearchResults({})", request); } final AtlasSearchResult result = request.getSearchResult(); if (CollectionUtils.isNotEmpty(result.getEntities())) { for (AtlasEntityHeader entity : result.getEntities()) { checkAccessAndScrub(entity, request); } } if (CollectionUtils.isNotEmpty(result.getFullTextResult())) { for (AtlasFullTextResult fullTextResult : result.getFullTextResult()) { if (fullTextResult != null) { checkAccessAndScrub(fullTextResult.getEntity(), request); } } } if (MapUtils.isNotEmpty(result.getReferredEntities())) { for (AtlasEntityHeader entity : result.getReferredEntities().values()) { checkAccessAndScrub(entity, request); } } if (LOG.isDebugEnabled()) { LOG.debug("<== SimpleAtlasAuthorizer.scrubSearchResults({}): {}", request, result); } }
private List<AtlasFullTextResult> getIndexQueryResults(AtlasIndexQuery query, QueryParams params, boolean excludeDeletedEntities) throws AtlasBaseException { List<AtlasFullTextResult> ret = new ArrayList<>(); Iterator<Result> iter = query.vertices(); while (iter.hasNext() && ret.size() < params.limit()) { Result idxQueryResult = iter.next(); AtlasVertex vertex = idxQueryResult.getVertex(); if (skipDeletedEntities(excludeDeletedEntities, vertex)) { continue; } String guid = vertex != null ? vertex.getProperty(Constants.GUID_PROPERTY_KEY, String.class) : null; if (guid != null) { AtlasEntityHeader entity = entityRetriever.toAtlasEntityHeader(vertex); Double score = idxQueryResult.getScore(); ret.add(new AtlasFullTextResult(entity, score)); } } return ret; }
@Override public void serialize(AtlasFullTextResult result, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (result != null && result.getEntity() != null) { Map<String, Object> valueMap = new HashMap<>(); valueMap.put(V1_KEY_GUID, result.getEntity().getGuid()); valueMap.put(V1_KEY_TYPENAME, result.getEntity().getTypeName()); valueMap.put(V1_KEY_SCORE, result.getScore()); jgen.writeObject(valueMap); } } }