[ 
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)

Reply via email to