use of org.apache.atlas.model.typedef.AtlasTypesDef in project incubator-atlas by apache.
the class AtlasTypeDefGraphStore method addToGraphStore.
private AtlasTypesDef addToGraphStore(AtlasTypesDef typesDef, AtlasTransientTypeRegistry ttr) throws AtlasBaseException {
AtlasTypesDef ret = new AtlasTypesDef();
AtlasEnumDefStore enumDefStore = getEnumDefStore(ttr);
AtlasStructDefStore structDefStore = getStructDefStore(ttr);
AtlasClassificationDefStore classifiDefStore = getClassificationDefStore(ttr);
AtlasEntityDefStore entityDefStore = getEntityDefStore(ttr);
List<Object> preCreateStructDefs = new ArrayList<>();
List<Object> preCreateClassifiDefs = new ArrayList<>();
List<Object> preCreateEntityDefs = new ArrayList<>();
if (CollectionUtils.isNotEmpty(typesDef.getEnumDefs())) {
for (AtlasEnumDef enumDef : typesDef.getEnumDefs()) {
AtlasEnumDef createdDef = enumDefStore.create(enumDef);
ttr.updateGuid(createdDef.getName(), createdDef.getGuid());
ret.getEnumDefs().add(createdDef);
}
}
if (CollectionUtils.isNotEmpty(typesDef.getStructDefs())) {
for (AtlasStructDef structDef : typesDef.getStructDefs()) {
preCreateStructDefs.add(structDefStore.preCreate(structDef));
}
}
if (CollectionUtils.isNotEmpty(typesDef.getClassificationDefs())) {
for (AtlasClassificationDef classifiDef : typesDef.getClassificationDefs()) {
preCreateClassifiDefs.add(classifiDefStore.preCreate(classifiDef));
}
}
if (CollectionUtils.isNotEmpty(typesDef.getEntityDefs())) {
for (AtlasEntityDef entityDef : typesDef.getEntityDefs()) {
preCreateEntityDefs.add(entityDefStore.preCreate(entityDef));
}
}
if (CollectionUtils.isNotEmpty(typesDef.getStructDefs())) {
int i = 0;
for (AtlasStructDef structDef : typesDef.getStructDefs()) {
AtlasStructDef createdDef = structDefStore.create(structDef, preCreateStructDefs.get(i));
ttr.updateGuid(createdDef.getName(), createdDef.getGuid());
ret.getStructDefs().add(createdDef);
i++;
}
}
if (CollectionUtils.isNotEmpty(typesDef.getClassificationDefs())) {
int i = 0;
for (AtlasClassificationDef classifiDef : typesDef.getClassificationDefs()) {
AtlasClassificationDef createdDef = classifiDefStore.create(classifiDef, preCreateClassifiDefs.get(i));
ttr.updateGuid(createdDef.getName(), createdDef.getGuid());
ret.getClassificationDefs().add(createdDef);
i++;
}
}
if (CollectionUtils.isNotEmpty(typesDef.getEntityDefs())) {
int i = 0;
for (AtlasEntityDef entityDef : typesDef.getEntityDefs()) {
AtlasEntityDef createdDef = entityDefStore.create(entityDef, preCreateEntityDefs.get(i));
ttr.updateGuid(createdDef.getName(), createdDef.getGuid());
ret.getEntityDefs().add(createdDef);
i++;
}
}
return ret;
}
use of org.apache.atlas.model.typedef.AtlasTypesDef in project ranger by apache.
the class AtlasRESTTagSource method getAtlasActiveEntities.
private List<RangerAtlasEntityWithTags> getAtlasActiveEntities() {
if (LOG.isDebugEnabled()) {
LOG.debug("==> getAtlasActiveEntities()");
}
List<RangerAtlasEntityWithTags> ret = null;
SearchParameters searchParams = new SearchParameters();
AtlasTypeRegistry typeRegistry = new AtlasTypeRegistry();
AtlasTypeRegistry.AtlasTransientTypeRegistry tty = null;
AtlasSearchResult searchResult = null;
searchParams.setClassification("*");
searchParams.setIncludeClassificationAttributes(true);
searchParams.setOffset(0);
searchParams.setLimit(Integer.MAX_VALUE);
boolean commitUpdates = false;
try {
AtlasClientV2 atlasClient = getAtlasClient();
searchResult = atlasClient.facetedSearch(searchParams);
AtlasTypesDef typesDef = atlasClient.getAllTypeDefs(new SearchFilter());
tty = typeRegistry.lockTypeRegistryForUpdate();
tty.addTypes(typesDef);
commitUpdates = true;
} catch (AtlasServiceException | AtlasBaseException | IOException excp) {
LOG.error("failed to download tags from Atlas", excp);
} catch (Exception unexpectedException) {
LOG.error("Failed to download tags from Atlas due to unexpected exception", unexpectedException);
} finally {
if (tty != null) {
typeRegistry.releaseTypeRegistryForUpdate(tty, commitUpdates);
}
}
if (commitUpdates && searchResult != null) {
if (LOG.isDebugEnabled()) {
LOG.debug(AtlasType.toJson(searchResult));
}
ret = new ArrayList<>();
List<AtlasEntityHeader> entityHeaders = searchResult.getEntities();
if (CollectionUtils.isNotEmpty(entityHeaders)) {
for (AtlasEntityHeader header : entityHeaders) {
if (!header.getStatus().equals(AtlasEntity.Status.ACTIVE)) {
if (LOG.isDebugEnabled()) {
LOG.debug("Skipping entity because it is not ACTIVE, header:[" + header + "]");
}
continue;
}
String typeName = header.getTypeName();
if (!AtlasResourceMapperUtil.isEntityTypeHandled(typeName)) {
if (LOG.isDebugEnabled()) {
LOG.debug("Not fetching Atlas entities of type:[" + typeName + "]");
}
continue;
}
List<EntityNotificationWrapper.RangerAtlasClassification> allTagsForEntity = new ArrayList<>();
for (AtlasClassification classification : header.getClassifications()) {
List<EntityNotificationWrapper.RangerAtlasClassification> tags = resolveTag(typeRegistry, classification);
if (tags != null) {
allTagsForEntity.addAll(tags);
}
}
if (CollectionUtils.isNotEmpty(allTagsForEntity)) {
RangerAtlasEntity entity = new RangerAtlasEntity(typeName, header.getGuid(), header.getAttributes());
RangerAtlasEntityWithTags entityWithTags = new RangerAtlasEntityWithTags(entity, allTagsForEntity, typeRegistry);
ret.add(entityWithTags);
}
}
}
}
if (LOG.isDebugEnabled()) {
LOG.debug("<== getAtlasActiveEntities()");
}
return ret;
}
use of org.apache.atlas.model.typedef.AtlasTypesDef in project nifi by apache.
the class NiFiAtlasClient method getTypeDefs.
private AtlasTypesDef getTypeDefs(String... typeNames) throws AtlasServiceException {
final AtlasTypesDef typeDefs = new AtlasTypesDef();
for (int i = 0; i < typeNames.length; i++) {
final MultivaluedMap<String, String> searchParams = new MultivaluedMapImpl();
searchParams.add(SearchFilter.PARAM_NAME, typeNames[i]);
final AtlasTypesDef typeDef = atlasClient.getAllTypeDefs(new SearchFilter(searchParams));
typeDefs.getEntityDefs().addAll(typeDef.getEntityDefs());
}
logger.debug("typeDefs={}", typeDefs);
return typeDefs;
}
use of org.apache.atlas.model.typedef.AtlasTypesDef in project atlas by apache.
the class AtlasRelationshipStoreV1Test method setUp.
@BeforeClass
public void setUp() throws Exception {
new GraphBackedSearchIndexer(typeRegistry);
// create employee relationship types
AtlasTypesDef employeeTypes = getDepartmentEmployeeTypes();
typeDefStore.createTypesDef(employeeTypes);
AtlasEntitiesWithExtInfo employeeInstances = getDepartmentEmployeeInstances();
EntityMutationResponse response = entityStore.createOrUpdate(new AtlasEntityStream(employeeInstances), false);
for (AtlasEntityHeader entityHeader : response.getCreatedEntities()) {
employeeNameIdMap.put((String) entityHeader.getAttribute(NAME), getAtlasObjectId(entityHeader));
}
init();
AtlasTypesDef typesDef = getInverseReferenceTestTypes();
AtlasTypesDef typesToCreate = AtlasTypeDefStoreInitializer.getTypesToCreate(typesDef, typeRegistry);
if (!typesToCreate.isEmpty()) {
typeDefStore.createTypesDef(typesToCreate);
}
}
use of org.apache.atlas.model.typedef.AtlasTypesDef in project atlas by apache.
the class UserProfileServiceTest method filterInternalType.
@Test
public void filterInternalType() throws AtlasBaseException {
SearchFilter searchFilter = new SearchFilter();
AtlasTypesDef filteredTypeDefs = typeDefStore.searchTypesDef(searchFilter);
int maxTypeDefs = filteredTypeDefs.getEntityDefs().size();
FilterUtil.addParamsToHideInternalType(searchFilter);
filteredTypeDefs = typeDefStore.searchTypesDef(searchFilter);
assertNotNull(filteredTypeDefs);
assertEquals(filteredTypeDefs.getEntityDefs().size(), maxTypeDefs - 3);
}
Aggregations