@Override public AtlasVertex preCreate(AtlasStructDef structDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasStructDefStoreV1.preCreate({})", structDef); } validateType(structDef); AtlasType type = typeRegistry.getType(structDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.STRUCT) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, structDef.getName(), TypeCategory.STRUCT.name()); } AtlasVertex ret = typeDefStore.findTypeVertexByName(structDef.getName()); if (ret != null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_ALREADY_EXISTS, structDef.getName()); } ret = typeDefStore.createTypeVertex(structDef); AtlasStructDefStoreV2.updateVertexPreCreate(structDef, (AtlasStructType)type, ret, typeDefStore); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasStructDefStoreV1.preCreate({}): {}", structDef, ret); } return ret; }
@Override public AtlasVertex preCreate(AtlasClassificationDef classificationDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasClassificationDefStoreV1.preCreate({})", classificationDef); } validateType(classificationDef); AtlasType type = typeRegistry.getType(classificationDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.CLASSIFICATION) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, classificationDef.getName(), TypeCategory.TRAIT.name()); } AtlasVertex ret = typeDefStore.findTypeVertexByName(classificationDef.getName()); if (ret != null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_ALREADY_EXISTS, classificationDef.getName()); } ret = typeDefStore.createTypeVertex(classificationDef); updateVertexPreCreate(classificationDef, (AtlasClassificationType)type, ret); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasClassificationDefStoreV1.preCreate({}): {}", classificationDef, ret); } return ret; }
@Override public AtlasVertex preCreate(AtlasEntityDef entityDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasEntityDefStoreV1.preCreate({})", entityDef); } validateType(entityDef); AtlasType type = typeRegistry.getType(entityDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.ENTITY) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, entityDef.getName(), TypeCategory.CLASS.name()); } AtlasVertex ret = typeDefStore.findTypeVertexByName(entityDef.getName()); if (ret != null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_ALREADY_EXISTS, entityDef.getName()); } ret = typeDefStore.createTypeVertex(entityDef); updateVertexPreCreate(entityDef, (AtlasEntityType)type, ret); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasEntityDefStoreV1.preCreate({}): {}", entityDef, ret); } return ret; }
@Override public AtlasEntityDef updateByGuid(String guid, AtlasEntityDef entityDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasEntityDefStoreV1.updateByGuid({})", guid); } AtlasEntityDef existingDef = typeRegistry.getEntityDefByGuid(guid); AtlasAuthorizationUtils.verifyAccess(new AtlasTypeAccessRequest(AtlasPrivilege.TYPE_UPDATE, existingDef), "update entity-def ", (existingDef != null ? existingDef.getName() : guid)); validateType(entityDef); AtlasType type = typeRegistry.getTypeByGuid(guid); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.ENTITY) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, entityDef.getName(), TypeCategory.CLASS.name()); } AtlasVertex vertex = typeDefStore.findTypeVertexByGuidAndCategory(guid, TypeCategory.CLASS); if (vertex == null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_GUID_NOT_FOUND, guid); } updateVertexPreUpdate(entityDef, (AtlasEntityType)type, vertex); updateVertexAddReferences(entityDef, vertex); AtlasEntityDef ret = toEntityDef(vertex); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasEntityDefStoreV1.updateByGuid({}): {}", guid, ret); } return ret; }
@Override public AtlasStructDef updateByName(String name, AtlasStructDef structDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasStructDefStoreV1.updateByName({}, {})", name, structDef); } AtlasStructDef existingDef = typeRegistry.getStructDefByName(name); AtlasAuthorizationUtils.verifyAccess(new AtlasTypeAccessRequest(AtlasPrivilege.TYPE_UPDATE, existingDef), "update struct-def ", name); validateType(structDef); AtlasType type = typeRegistry.getType(structDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.STRUCT) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, structDef.getName(), TypeCategory.STRUCT.name()); } AtlasVertex vertex = typeDefStore.findTypeVertexByNameAndCategory(name, TypeCategory.STRUCT); if (vertex == null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_NAME_NOT_FOUND, name); } AtlasStructDefStoreV2.updateVertexPreUpdate(structDef, (AtlasStructType)type, vertex, typeDefStore); AtlasStructDefStoreV2.updateVertexAddReferences(structDef, vertex, typeDefStore); AtlasStructDef ret = toStructDef(vertex); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasStructDefStoreV1.updateByName({}, {}): {}", name, structDef, ret); } return ret; }
@Override public AtlasVertex preCreate(AtlasStructDef structDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasStructDefStoreV1.preCreate({})", structDef); } validateType(structDef); AtlasType type = typeRegistry.getType(structDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.STRUCT) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, structDef.getName(), TypeCategory.STRUCT.name()); } AtlasVertex ret = typeDefStore.findTypeVertexByName(structDef.getName()); if (ret != null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_ALREADY_EXISTS, structDef.getName()); } ret = typeDefStore.createTypeVertex(structDef); AtlasStructDefStoreV2.updateVertexPreCreate(structDef, (AtlasStructType)type, ret, typeDefStore); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasStructDefStoreV1.preCreate({}): {}", structDef, ret); } return ret; }
@Override public AtlasRelationshipDef updateByGuid(String guid, AtlasRelationshipDef relationshipDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasRelationshipDefStoreV1.updateByGuid({})", guid); } AtlasRelationshipDef existingDef = typeRegistry.getRelationshipDefByGuid(guid); AtlasAuthorizationUtils.verifyAccess(new AtlasTypeAccessRequest(AtlasPrivilege.TYPE_UPDATE, existingDef), "update relationship-Def ", (existingDef != null ? existingDef.getName() : guid)); validateType(relationshipDef); AtlasType type = typeRegistry.getTypeByGuid(guid); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.RELATIONSHIP) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, relationshipDef.getName(), TypeCategory.RELATIONSHIP.name()); } AtlasVertex vertex = typeDefStore.findTypeVertexByGuidAndCategory(guid, TypeCategory.RELATIONSHIP); if (vertex == null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_GUID_NOT_FOUND, guid); } preUpdateCheck(relationshipDef, (AtlasRelationshipType) type, vertex); // updates should not effect the edges between the types as we do not allow updates that change the endpoints. AtlasRelationshipDef ret = toRelationshipDef(vertex); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasRelationshipDefStoreV1.updateByGuid({}): {}", guid, ret); } return ret; }
@Override public AtlasVertex preCreate(AtlasEntityDef entityDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasEntityDefStoreV1.preCreate({})", entityDef); } validateType(entityDef); AtlasType type = typeRegistry.getType(entityDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.ENTITY) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, entityDef.getName(), TypeCategory.CLASS.name()); } AtlasVertex ret = typeDefStore.findTypeVertexByName(entityDef.getName()); if (ret != null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_ALREADY_EXISTS, entityDef.getName()); } ret = typeDefStore.createTypeVertex(entityDef); updateVertexPreCreate(entityDef, (AtlasEntityType)type, ret); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasEntityDefStoreV1.preCreate({}): {}", entityDef, ret); } return ret; }
@Override public AtlasEntityDef updateByGuid(String guid, AtlasEntityDef entityDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasEntityDefStoreV1.updateByGuid({})", guid); } AtlasEntityDef existingDef = typeRegistry.getEntityDefByGuid(guid); AtlasAuthorizationUtils.verifyAccess(new AtlasTypeAccessRequest(AtlasPrivilege.TYPE_UPDATE, existingDef), "update entity-def ", (existingDef != null ? existingDef.getName() : guid)); validateType(entityDef); AtlasType type = typeRegistry.getTypeByGuid(guid); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.ENTITY) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, entityDef.getName(), TypeCategory.CLASS.name()); } AtlasVertex vertex = typeDefStore.findTypeVertexByGuidAndCategory(guid, TypeCategory.CLASS); if (vertex == null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_GUID_NOT_FOUND, guid); } updateVertexPreUpdate(entityDef, (AtlasEntityType)type, vertex); updateVertexAddReferences(entityDef, vertex); AtlasEntityDef ret = toEntityDef(vertex); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasEntityDefStoreV1.updateByGuid({}): {}", guid, ret); } return ret; }
@Override public AtlasVertex preCreate(AtlasClassificationDef classificationDef) throws AtlasBaseException { if (LOG.isDebugEnabled()) { LOG.debug("==> AtlasClassificationDefStoreV1.preCreate({})", classificationDef); } validateType(classificationDef); AtlasType type = typeRegistry.getType(classificationDef.getName()); if (type.getTypeCategory() != org.apache.atlas.model.TypeCategory.CLASSIFICATION) { throw new AtlasBaseException(AtlasErrorCode.TYPE_MATCH_FAILED, classificationDef.getName(), TypeCategory.TRAIT.name()); } AtlasVertex ret = typeDefStore.findTypeVertexByName(classificationDef.getName()); if (ret != null) { throw new AtlasBaseException(AtlasErrorCode.TYPE_ALREADY_EXISTS, classificationDef.getName()); } ret = typeDefStore.createTypeVertex(classificationDef); updateVertexPreCreate(classificationDef, (AtlasClassificationType)type, ret); if (LOG.isDebugEnabled()) { LOG.debug("<== AtlasClassificationDefStoreV1.preCreate({}): {}", classificationDef, ret); } return ret; }
@Override public WebResource createResource() { WebResource resource = getResource(API.LIST_TYPES.getPath()); resource = resource.queryParam(TYPE, category.name()); return resource; } });
@Override public WebResource createResource() { WebResource resource = getResource(api); resource = resource.queryParam(TYPE, category.name()); resource = resource.queryParam(SUPERTYPE, superType); resource = resource.queryParam(NOT_SUPERTYPE, notSupertype); return resource; } });
@Override public WebResource createResource() { WebResource resource = getResource(api.getNormalizedPath()); resource = resource.queryParam(TYPE, category.name()); return resource; } });
public ImmutableList<String> getTypeNamesByCategory(final DataTypes.TypeCategory typeCategory) throws AtlasException { return getTypeNames(new HashMap<TypeCache.TYPE_FILTER, String>() {{ put(TypeCache.TYPE_FILTER.CATEGORY, typeCategory.name()); }}); }
private Collection<String> getTypeNamesByCategory(final TypeCategory category) throws AtlasException { return cache.getTypeNames(new HashMap<TypeCache.TYPE_FILTER, String>() {{ put(TypeCache.TYPE_FILTER.CATEGORY, category.name()); }}); }
public ImmutableList<String> getTypeNamesByCategory(final DataTypes.TypeCategory typeCategory) throws AtlasException { return getTypeNames(new HashMap<TypeCache.TYPE_FILTER, String>() {{ put(TypeCache.TYPE_FILTER.CATEGORY, typeCategory.name()); }}); }
@Override public WebResource createResource() { WebResource resource = getResource(api.getNormalizedPath()); resource = resource.queryParam(TYPE, category.name()); return resource; } });
@Override public WebResource createResource() { WebResource resource = getResource(API.LIST_TYPES); resource = resource.queryParam(TYPE, category.name()); resource = resource.queryParam(SUPERTYPE, superType); resource = resource.queryParam(NOT_SUPERTYPE, notSupertype); return resource; } });
@Override public WebResource createResource() { WebResource resource = getResource(api); resource = resource.queryParam(TYPE, category.name()); resource = resource.queryParam(SUPERTYPE, superType); resource = resource.queryParam(NOT_SUPERTYPE, notSupertype); return resource; } });
private Collection<String> getTypeNamesByCategory(final TypeCategory category) throws AtlasException { return cache.getTypeNames(new HashMap<TypeCache.TYPE_FILTER, String>() {{ put(TypeCache.TYPE_FILTER.CATEGORY, category.name()); }}); }