[ https://issues.apache.org/jira/browse/ATLAS-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16247088#comment-16247088 ]
Madhan Neethiraj commented on ATLAS-2251: ----------------------------------------- This patch removes 'TypeSystem' implementation and updates/removed all references to TypeSystem. Also, usages of scala/json4s/gson libraries have been removed. Please note that current implementation of DSL query, using Scala and TypeSystem, has been removed in this patch. DSL will be implemented using AtlasTypeRegistry in a subsequent patch shortly. Please note that following classes have been renamed/relocated. All references to these classes have been updated for this. {noformat} org.apache.atlas.typesystem.Referenceable ==> org.apache.atlas.v1.model.instance.Referenceable org.apache.atlas.typesystem.Struct ==> org.apache.atlas.v1.model.instance.Struct org.apache.atlas.typesystem.persistence.Id ==> org.apache.atlas.v1.model.instance.Id org.apache.atlas.typesystem.persistence.AtlasSystemAttributes ==> org.apache.atlas.v1.model.instance.AtlasSystemAttributes org.apache.atlas.typesystem.types.AttributeDefinition ==> org.apache.atlas.v1.model.typedef.AttributeDefinition org.apache.atlas.typesystem.types.HierarchicalTypeDefinition<ClassType> ==> org.apache.atlas.v1.model.typedef.ClassTypeDefinition org.apache.atlas.typesystem.types.EnumTypeDefinition ==> org.apache.atlas.v1.model.typedef.EnumTypeDefinition org.apache.atlas.typesystem.types.EnumValue ==> org.apache.atlas.v1.model.typedef.EnumTypeDefinition.EnumValue org.apache.atlas.typesystem.types.HierarchicalTypeDefinition ==> org.apache.atlas.v1.model.typedef.HierarchicalTypeDefinition org.apache.atlas.typesystem.types.Multiplicity ==> org.apache.atlas.v1.model.typedef.Multiplicity org.apache.atlas.typesystem.types.StructTypeDefinition ==> org.apache.atlas.v1.model.typedef.StructTypeDefinition org.apache.atlas.typesystem.types.HierarchicalTypeDefinition<TraitType> ==> org.apache.atlas.v1.model.typedef.TraitTypeDefinition org.apache.atlas.typesystem.TypesDef.scala ==> org.apache.atlas.v1.model.typedef.TypesDef org.apache.atlas.typesystem.types.TypeUtils ==> org.apache.atlas.v1.typesystem.types.utils.TypesUtil org.apache.atlas.notification.entity.EntityNotification ==> org.apache.atlas.model.notification.EntityNotification org.apache.atlas.notification.hook.HookNotification.HookNotificationMessage ==> org.apache.atlas.model.notification.HookNotification org.apache.atlas.notification.AtlasNotificationBaseMessage ==> org.apache.atlas.model.notification.AtlasNotificationBaseMessage org.apache.atlas.notification.AtlasNotificationMessage ==> org.apache.atlas.model.notification.AtlasNotificationMessage org.apache.atlas.notification.AtlasNotificationStringMessage ==> org.apache.atlas.model.notification.AtlasNotificationStringMessage org.apache.atlas.notification.MessageVersion ==> org.apache.atlas.model.notification.MessageVersion org.apache.atlas.notification.entity.EntityNotificationImpl ==> org.apache.atlas.v1.model.notification.EntityNotificationV1 org.apache.atlas.notification.hook.HookNotification.EntityCreateRequest ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest org.apache.atlas.notification.hook.HookNotification.EntityDeleteRequest ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityDeleteRequest org.apache.atlas.notification.hook.HookNotification.EntityPartialUpdateRequest ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityPartialUpdateRequest org.apache.atlas.notification.hook.HookNotification.EntityUpdateRequest ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityUpdateRequest org.apache.atlas.notification.MessageDeserializer ==> org.apache.atlas.notification.AtlasNotificationMessageDeserializer {noformat} > Remove/replace use of TypeSystem with AtlasTypeRegistry > ------------------------------------------------------- > > Key: ATLAS-2251 > URL: https://issues.apache.org/jira/browse/ATLAS-2251 > Project: Atlas > Issue Type: Task > Components: atlas-core > Affects Versions: 1.0.0 > Reporter: Madhan Neethiraj > Assignee: Madhan Neethiraj > Priority: Critical > Fix For: 1.0.0 > > Attachments: ATLAS-2251-1.patch, ATLAS-2251-3.patch > > > With introduction of V2 APIs in 0.8 release, Atlas core type-system > implementation moved to use AtlasTypeRegistry (which uses data-structures > introduced in V2 APIs). However, earlier version equivalent, TypeSystem > (which uses V1 data-structures), is still being referenced in few places, > like: > - V1 REST APIs, to covert between V1 and V2 data-structures > - notification processing, which uses V1 data-structures > - DSL query implementation > - AtlasClient API > - unit tests > Having to support legacy TypeSystem causes run time overhead in duplicate > caching of type-information - in AtlasTypeRegistry and TypeSystem. Removing > TypeSystem implementation will help eliminate this overhead and also improve > maintainability of Atlas sources. > This JIRA is to track removal of TypeSystem implementation and its > references; where necessary, references should be updated to use > AtlasTypeRegistry equivalent. > - it is very critical to continue to support V1 REST APIs and processing of > current V1 notifications > - existing unit tests that use V1 data-structures will be removed and will be > replaced with equivalents that use V2 data-structures > - AtlasClient in new release will only support V2 data-structures; however, > older version AtlasClient will continue to work with new version of Atlas > server -- This message was sent by Atlassian JIRA (v6.4.14#64029)