TypeCategory getTypeCategory(AtlasBaseTypeDef typeDef) { switch (typeDef.getCategory()) { case ENTITY: return TypeCategory.CLASS; case CLASSIFICATION: return TypeCategory.TRAIT; case STRUCT: return TypeCategory.STRUCT; case ENUM: return TypeCategory.ENUM; case RELATIONSHIP: return TypeCategory.RELATIONSHIP; } return null; }
TypeCategory getTypeCategory(AtlasBaseTypeDef typeDef) { switch (typeDef.getCategory()) { case ENTITY: return TypeCategory.CLASS; case CLASSIFICATION: return TypeCategory.TRAIT; case STRUCT: return TypeCategory.STRUCT; case ENUM: return TypeCategory.ENUM; case RELATIONSHIP: return TypeCategory.RELATIONSHIP; } return null; }
protected AtlasType(AtlasBaseTypeDef typeDef) { this(typeDef.getName(), typeDef.getCategory()); }
protected AtlasType(AtlasBaseTypeDef typeDef) { this(typeDef.getName(), typeDef.getCategory()); }
public AtlasTypeDefHeader(AtlasBaseTypeDef typeDef) { this(typeDef.getGuid(), typeDef.getName(), typeDef.getCategory()); }
public AtlasTypeDefHeader(AtlasBaseTypeDef typeDef) { this(typeDef.getGuid(), typeDef.getName(), typeDef.getCategory()); }
public void validateType(AtlasBaseTypeDef typeDef) throws AtlasBaseException { if (!isValidName(typeDef.getName())) { throw new AtlasBaseException(AtlasErrorCode.TYPE_NAME_INVALID_FORMAT, typeDef.getName(), typeDef.getCategory().name()); } try { final boolean allowReservedKeywords = ApplicationProperties.get().getBoolean(ALLOW_RESERVED_KEYWORDS, true); if (!allowReservedKeywords && typeDef instanceof AtlasStructDef) { final List<AtlasStructDef.AtlasAttributeDef> attributeDefs = ((AtlasStructDef) typeDef).getAttributeDefs(); for (AtlasStructDef.AtlasAttributeDef attrDef : attributeDefs) { if (AtlasDSL.Parser.isKeyword(attrDef.getName())) { throw new AtlasBaseException(AtlasErrorCode.ATTRIBUTE_NAME_INVALID, attrDef.getName(), typeDef.getCategory().name()); } } } } catch (AtlasException e) { LOG.error("Exception while loading configuration ", e); throw new AtlasBaseException(AtlasErrorCode.INTERNAL_ERROR, "Could not load configuration"); } }
public void validateType(AtlasBaseTypeDef typeDef) throws AtlasBaseException { if (!isValidName(typeDef.getName())) { throw new AtlasBaseException(AtlasErrorCode.TYPE_NAME_INVALID_FORMAT, typeDef.getName(), typeDef.getCategory().name()); } try { final boolean allowReservedKeywords = ApplicationProperties.get().getBoolean(ALLOW_RESERVED_KEYWORDS, true); if (!allowReservedKeywords && typeDef instanceof AtlasStructDef) { final List<AtlasStructDef.AtlasAttributeDef> attributeDefs = ((AtlasStructDef) typeDef).getAttributeDefs(); for (AtlasStructDef.AtlasAttributeDef attrDef : attributeDefs) { if (AtlasDSL.Parser.isKeyword(attrDef.getName())) { throw new AtlasBaseException(AtlasErrorCode.ATTRIBUTE_NAME_INVALID, attrDef.getName(), typeDef.getCategory().name()); } } } } catch (AtlasException e) { LOG.error("Exception while loading configuration ", e); throw new AtlasBaseException(AtlasErrorCode.INTERNAL_ERROR, "Could not load configuration"); } }
private void removeTypeByGuidWithNoRefResolve(AtlasBaseTypeDef typeDef) { switch (typeDef.getCategory()) { case ENUM: registryData.enumDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case STRUCT: registryData.structDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case CLASSIFICATION: registryData.classificationDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case ENTITY: registryData.entityDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case RELATIONSHIP: registryData.relationshipDefs.removeTypeDefByGuid(typeDef.getGuid()); break; } deletedTypes.add(typeDef); }
private void removeTypeByNameWithNoRefResolve(AtlasBaseTypeDef typeDef) { switch (typeDef.getCategory()) { case ENUM: registryData.enumDefs.removeTypeDefByName(typeDef.getName()); break; case STRUCT: registryData.structDefs.removeTypeDefByName(typeDef.getName()); break; case CLASSIFICATION: registryData.classificationDefs.removeTypeDefByName(typeDef.getName()); break; case ENTITY: registryData.entityDefs.removeTypeDefByName(typeDef.getName()); break; case RELATIONSHIP: registryData.relationshipDefs.removeTypeDefByName(typeDef.getName()); break; } deletedTypes.add(typeDef); }
private void removeTypeByNameWithNoRefResolve(AtlasBaseTypeDef typeDef) { switch (typeDef.getCategory()) { case ENUM: registryData.enumDefs.removeTypeDefByName(typeDef.getName()); break; case STRUCT: registryData.structDefs.removeTypeDefByName(typeDef.getName()); break; case CLASSIFICATION: registryData.classificationDefs.removeTypeDefByName(typeDef.getName()); break; case ENTITY: registryData.entityDefs.removeTypeDefByName(typeDef.getName()); break; case RELATIONSHIP: registryData.relationshipDefs.removeTypeDefByName(typeDef.getName()); break; } deletedTypes.add(typeDef); }
private void removeTypeByGuidWithNoRefResolve(AtlasBaseTypeDef typeDef) { switch (typeDef.getCategory()) { case ENUM: registryData.enumDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case STRUCT: registryData.structDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case CLASSIFICATION: registryData.classificationDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case ENTITY: registryData.entityDefs.removeTypeDefByGuid(typeDef.getGuid()); break; case RELATIONSHIP: registryData.relationshipDefs.removeTypeDefByGuid(typeDef.getGuid()); break; } deletedTypes.add(typeDef); }
@Override public boolean isAccessAllowed(AtlasTypeAccessRequest request) throws AtlasAuthorizationException { if (LOG.isDebugEnabled()) { LOG.debug("==> SimpleAtlasAuthorizer.isAccessAllowed({})", request); } boolean ret = false; Set<String> roles = getRoles(request.getUser(), request.getUserGroups()); for (String role : roles) { List<AtlasTypePermission> permissions = getTypePermissionsForRole(role); if (permissions != null) { final String action = request.getAction() != null ? request.getAction().getType() : null; final String typeCategory = request.getTypeDef() != null ? request.getTypeDef().getCategory().name() : null; final String typeName = request.getTypeDef() != null ? request.getTypeDef().getName() : null; for (AtlasTypePermission permission : permissions) { if (isMatch(action, permission.getPrivileges()) && isMatch(typeCategory, permission.getTypeCategories()) && isMatch(typeName, permission.getTypeNames())) { ret = true; break; } } } } if (LOG.isDebugEnabled()) { LOG.debug("<== SimpleAtlasAuthorizer.isAccessAllowed({}): {}", request, ret); } return ret; }
@Override public boolean isAccessAllowed(AtlasTypeAccessRequest request) throws AtlasAuthorizationException { if (LOG.isDebugEnabled()) { LOG.debug("==> SimpleAtlasAuthorizer.isAccessAllowed({})", request); } boolean ret = false; Set<String> roles = getRoles(request.getUser(), request.getUserGroups()); for (String role : roles) { List<AtlasTypePermission> permissions = getTypePermissionsForRole(role); if (permissions != null) { final String action = request.getAction() != null ? request.getAction().getType() : null; final String typeCategory = request.getTypeDef() != null ? request.getTypeDef().getCategory().name() : null; final String typeName = request.getTypeDef() != null ? request.getTypeDef().getName() : null; for (AtlasTypePermission permission : permissions) { if (isMatch(action, permission.getPrivileges()) && isMatch(typeCategory, permission.getTypeCategories()) && isMatch(typeName, permission.getTypeNames())) { ret = true; break; } } } } if (LOG.isDebugEnabled()) { LOG.debug("<== SimpleAtlasAuthorizer.isAccessAllowed({}): {}", request, ret); } return ret; }