Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
atlas
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dataplatform
atlas
Commits
bb82e0df
Commit
bb82e0df
authored
7 years ago
by
Sarath Subramanian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-2565: Remove REST API to disable propagated classification in entity
parent
880ea4b6
master
No related merge requests found
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
6 additions
and
169 deletions
+6
-169
AtlasClassification.java
.../org/apache/atlas/model/instance/AtlasClassification.java
+0
-2
AtlasEntity.java
...ain/java/org/apache/atlas/model/instance/AtlasEntity.java
+2
-17
GraphHelper.java
...n/java/org/apache/atlas/repository/graph/GraphHelper.java
+0
-14
AtlasEntityStore.java
...apache/atlas/repository/store/graph/AtlasEntityStore.java
+0
-2
AtlasEntityStoreV1.java
...e/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
+0
-17
DeleteHandlerV1.java
...ache/atlas/repository/store/graph/v1/DeleteHandlerV1.java
+2
-8
EntityGraphMapper.java
...he/atlas/repository/store/graph/v1/EntityGraphMapper.java
+0
-49
EntityGraphRetriever.java
...atlas/repository/store/graph/v1/EntityGraphRetriever.java
+2
-14
EntityREST.java
...p/src/main/java/org/apache/atlas/web/rest/EntityREST.java
+0
-46
No files found.
intg/src/main/java/org/apache/atlas/model/instance/AtlasClassification.java
View file @
bb82e0df
...
@@ -57,8 +57,6 @@ public class AtlasClassification extends AtlasStruct implements Serializable {
...
@@ -57,8 +57,6 @@ public class AtlasClassification extends AtlasStruct implements Serializable {
private
Boolean
propagate
=
null
;
private
Boolean
propagate
=
null
;
private
List
<
TimeBoundary
>
validityPeriods
=
null
;
private
List
<
TimeBoundary
>
validityPeriods
=
null
;
public
enum
PropagationState
{
ACTIVE
,
DELETED
}
public
AtlasClassification
()
{
public
AtlasClassification
()
{
this
(
null
,
null
);
this
(
null
,
null
);
}
}
...
...
This diff is collapsed.
Click to expand it.
intg/src/main/java/org/apache/atlas/model/instance/AtlasEntity.java
View file @
bb82e0df
...
@@ -82,7 +82,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
...
@@ -82,7 +82,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
private
Map
<
String
,
Object
>
relationshipAttributes
;
private
Map
<
String
,
Object
>
relationshipAttributes
;
private
List
<
AtlasClassification
>
classifications
;
private
List
<
AtlasClassification
>
classifications
;
private
List
<
AtlasClassification
>
propagationDisabledClassifications
;
private
List
<
AtlasTermAssignmentHeader
>
meanings
;
private
List
<
AtlasTermAssignmentHeader
>
meanings
;
@JsonIgnore
@JsonIgnore
...
@@ -166,7 +165,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
...
@@ -166,7 +165,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
setUpdateTime
(
other
.
getUpdateTime
());
setUpdateTime
(
other
.
getUpdateTime
());
setVersion
(
other
.
getVersion
());
setVersion
(
other
.
getVersion
());
setClassifications
(
other
.
getClassifications
());
setClassifications
(
other
.
getClassifications
());
setPropagationDisabledClassifications
(
other
.
getPropagationDisabledClassifications
());
}
}
}
}
...
@@ -261,14 +259,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
...
@@ -261,14 +259,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
public
void
setClassifications
(
List
<
AtlasClassification
>
classifications
)
{
this
.
classifications
=
classifications
;
}
public
void
setClassifications
(
List
<
AtlasClassification
>
classifications
)
{
this
.
classifications
=
classifications
;
}
public
List
<
AtlasClassification
>
getPropagationDisabledClassifications
()
{
return
propagationDisabledClassifications
;
}
public
void
setPropagationDisabledClassifications
(
List
<
AtlasClassification
>
propagationDisabledClassifications
)
{
this
.
propagationDisabledClassifications
=
propagationDisabledClassifications
;
}
public
void
addClassifications
(
List
<
AtlasClassification
>
classifications
)
{
public
void
addClassifications
(
List
<
AtlasClassification
>
classifications
)
{
List
<
AtlasClassification
>
c
=
this
.
classifications
;
List
<
AtlasClassification
>
c
=
this
.
classifications
;
...
@@ -307,7 +297,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
...
@@ -307,7 +297,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
setCreateTime
(
null
);
setCreateTime
(
null
);
setUpdateTime
(
null
);
setUpdateTime
(
null
);
setClassifications
(
null
);
setClassifications
(
null
);
setPropagationDisabledClassifications
(
null
);
setMeanings
(
null
);
setMeanings
(
null
);
}
}
...
@@ -336,9 +325,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
...
@@ -336,9 +325,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
sb
.
append
(
", classifications=["
);
sb
.
append
(
", classifications=["
);
AtlasBaseTypeDef
.
dumpObjects
(
classifications
,
sb
);
AtlasBaseTypeDef
.
dumpObjects
(
classifications
,
sb
);
sb
.
append
(
']'
);
sb
.
append
(
']'
);
sb
.
append
(
", propagationDisabledClassifications=["
);
AtlasBaseTypeDef
.
dumpObjects
(
propagationDisabledClassifications
,
sb
);
sb
.
append
(
']'
);
sb
.
append
(
", meanings=["
);
sb
.
append
(
", meanings=["
);
AtlasBaseTypeDef
.
dumpObjects
(
meanings
,
sb
);
AtlasBaseTypeDef
.
dumpObjects
(
meanings
,
sb
);
sb
.
append
(
']'
);
sb
.
append
(
']'
);
...
@@ -362,14 +348,13 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
...
@@ -362,14 +348,13 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
Objects
.
equals
(
updateTime
,
that
.
updateTime
)
&&
Objects
.
equals
(
updateTime
,
that
.
updateTime
)
&&
Objects
.
equals
(
version
,
that
.
version
)
&&
Objects
.
equals
(
version
,
that
.
version
)
&&
Objects
.
equals
(
relationshipAttributes
,
that
.
relationshipAttributes
)
&&
Objects
.
equals
(
relationshipAttributes
,
that
.
relationshipAttributes
)
&&
Objects
.
equals
(
classifications
,
that
.
classifications
)
&&
Objects
.
equals
(
classifications
,
that
.
classifications
);
Objects
.
equals
(
propagationDisabledClassifications
,
that
.
propagationDisabledClassifications
);
}
}
@Override
@Override
public
int
hashCode
()
{
public
int
hashCode
()
{
return
Objects
.
hash
(
super
.
hashCode
(),
guid
,
status
,
createdBy
,
updatedBy
,
createTime
,
updateTime
,
version
,
return
Objects
.
hash
(
super
.
hashCode
(),
guid
,
status
,
createdBy
,
updatedBy
,
createTime
,
updateTime
,
version
,
relationshipAttributes
,
classifications
,
propagationDisabledClassifications
);
relationshipAttributes
,
classifications
);
}
}
@Override
@Override
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
View file @
bb82e0df
...
@@ -195,7 +195,6 @@ public final class GraphHelper {
...
@@ -195,7 +195,6 @@ public final class GraphHelper {
if
(
ret
!=
null
)
{
if
(
ret
!=
null
)
{
AtlasGraphUtilsV1
.
setProperty
(
ret
,
CLASSIFICATION_EDGE_NAME_PROPERTY_KEY
,
getTypeName
(
classificationVertex
));
AtlasGraphUtilsV1
.
setProperty
(
ret
,
CLASSIFICATION_EDGE_NAME_PROPERTY_KEY
,
getTypeName
(
classificationVertex
));
AtlasGraphUtilsV1
.
setProperty
(
ret
,
CLASSIFICATION_EDGE_IS_PROPAGATED_PROPERTY_KEY
,
isPropagated
);
AtlasGraphUtilsV1
.
setProperty
(
ret
,
CLASSIFICATION_EDGE_IS_PROPAGATED_PROPERTY_KEY
,
isPropagated
);
AtlasGraphUtilsV1
.
setProperty
(
ret
,
CLASSIFICATION_EDGE_STATE_PROPERTY_KEY
,
AtlasClassification
.
PropagationState
.
ACTIVE
);
}
}
return
ret
;
return
ret
;
...
@@ -1171,19 +1170,6 @@ public final class GraphHelper {
...
@@ -1171,19 +1170,6 @@ public final class GraphHelper {
return
AtlasGraphUtilsV1
.
getProperty
(
classificationVertex
,
CLASSIFICATION_ENTITY_GUID
,
String
.
class
);
return
AtlasGraphUtilsV1
.
getProperty
(
classificationVertex
,
CLASSIFICATION_ENTITY_GUID
,
String
.
class
);
}
}
public
static
AtlasClassification
.
PropagationState
getClassificationEdgeState
(
AtlasEdge
edge
)
{
AtlasClassification
.
PropagationState
ret
=
null
;
if
(
edge
!=
null
)
{
String
state
=
edge
.
getProperty
(
Constants
.
CLASSIFICATION_EDGE_STATE_PROPERTY_KEY
,
String
.
class
);
ret
=
(
StringUtils
.
isEmpty
(
state
))
?
AtlasClassification
.
PropagationState
.
ACTIVE
:
AtlasClassification
.
PropagationState
.
valueOf
(
state
);
}
return
ret
;
}
public
static
boolean
isPropagatedClassificationEdge
(
AtlasEdge
edge
)
{
public
static
boolean
isPropagatedClassificationEdge
(
AtlasEdge
edge
)
{
boolean
ret
=
false
;
boolean
ret
=
false
;
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/AtlasEntityStore.java
View file @
bb82e0df
...
@@ -166,6 +166,4 @@ public interface AtlasEntityStore {
...
@@ -166,6 +166,4 @@ public interface AtlasEntityStore {
List
<
AtlasClassification
>
getClassifications
(
String
guid
)
throws
AtlasBaseException
;
List
<
AtlasClassification
>
getClassifications
(
String
guid
)
throws
AtlasBaseException
;
AtlasClassification
getClassification
(
String
guid
,
String
classificationName
)
throws
AtlasBaseException
;
AtlasClassification
getClassification
(
String
guid
,
String
classificationName
)
throws
AtlasBaseException
;
void
setPropagatedClassificationState
(
String
guid
,
String
classificationName
,
String
sourceEntityGuid
,
boolean
disablePropagation
)
throws
AtlasBaseException
;
}
}
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
View file @
bb82e0df
...
@@ -476,23 +476,6 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore {
...
@@ -476,23 +476,6 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore {
@Override
@Override
@GraphTransaction
@GraphTransaction
public
void
setPropagatedClassificationState
(
String
entityGuid
,
String
classificationName
,
String
sourceEntityGuid
,
boolean
disablePropagation
)
throws
AtlasBaseException
{
AtlasEntityHeader
entityHeader
=
entityRetriever
.
toAtlasEntityHeaderWithClassifications
(
entityGuid
);
AtlasAuthorizationUtils
.
verifyAccess
(
new
AtlasEntityAccessRequest
(
typeRegistry
,
AtlasPrivilege
.
ENTITY_UPDATE_CLASSIFICATION
,
entityHeader
,
new
AtlasClassification
(
classificationName
)),
"change propagated classification state: guid="
,
entityGuid
,
", classification="
,
classificationName
);
if
(
LOG
.
isDebugEnabled
())
{
LOG
.
debug
(
"Toggle propagated classification={}, sourceEntityGuid={} for entity={}, disablePropagation={}"
,
classificationName
,
sourceEntityGuid
,
entityGuid
,
disablePropagation
);
}
GraphTransactionInterceptor
.
lockObjectAndReleasePostCommit
(
entityGuid
);
entityGraphMapper
.
setPropagatedClassificationState
(
entityGuid
,
classificationName
,
sourceEntityGuid
,
disablePropagation
);
}
@Override
@GraphTransaction
public
void
deleteClassifications
(
final
String
guid
,
final
List
<
String
>
classificationNames
)
throws
AtlasBaseException
{
public
void
deleteClassifications
(
final
String
guid
,
final
List
<
String
>
classificationNames
)
throws
AtlasBaseException
{
if
(
StringUtils
.
isEmpty
(
guid
))
{
if
(
StringUtils
.
isEmpty
(
guid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"Guid(s) not specified"
);
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"Guid(s) not specified"
);
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerV1.java
View file @
bb82e0df
...
@@ -51,7 +51,6 @@ import org.slf4j.LoggerFactory;
...
@@ -51,7 +51,6 @@ import org.slf4j.LoggerFactory;
import
java.util.*
;
import
java.util.*
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
AtlasClassification
.
PropagationState
.
ACTIVE
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
AtlasEntity
.
Status
.
DELETED
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
AtlasEntity
.
Status
.
DELETED
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasRelationshipDef
.
PropagateTags
.
ONE_TO_TWO
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasRelationshipDef
.
PropagateTags
.
ONE_TO_TWO
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
CLASSIFICATION_EDGE_NAME_PROPERTY_KEY
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
CLASSIFICATION_EDGE_NAME_PROPERTY_KEY
;
...
@@ -64,7 +63,6 @@ import static org.apache.atlas.repository.graph.GraphHelper.addToPropagatedTrait
...
@@ -64,7 +63,6 @@ import static org.apache.atlas.repository.graph.GraphHelper.addToPropagatedTrait
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAllClassificationEdges
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAllClassificationEdges
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAssociatedEntityVertex
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAssociatedEntityVertex
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdgeState
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEntityGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEntityGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertices
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertices
;
...
@@ -584,9 +582,7 @@ public abstract class DeleteHandlerV1 {
...
@@ -584,9 +582,7 @@ public abstract class DeleteHandlerV1 {
graphHelper
.
removeEdge
(
propagatedEdge
);
graphHelper
.
removeEdge
(
propagatedEdge
);
if
(
getClassificationEdgeState
(
propagatedEdge
)
==
ACTIVE
)
{
removeFromPropagatedTraitNames
(
impactedEntityVertex
,
classificationName
);
removeFromPropagatedTraitNames
(
impactedEntityVertex
,
classificationName
);
}
}
else
{
}
else
{
if
(
LOG
.
isDebugEnabled
())
{
if
(
LOG
.
isDebugEnabled
())
{
LOG
.
debug
(
" --> Not removing propagated classification edge from [{}] --> [{}][{}] using edge label: [{}], since edge doesn't exist"
,
LOG
.
debug
(
" --> Not removing propagated classification edge from [{}] --> [{}][{}] using edge label: [{}], since edge doesn't exist"
,
...
@@ -607,9 +603,7 @@ public abstract class DeleteHandlerV1 {
...
@@ -607,9 +603,7 @@ public abstract class DeleteHandlerV1 {
getTypeName
(
entityVertex
),
GraphHelper
.
getGuid
(
entityVertex
),
CLASSIFICATION_LABEL
);
getTypeName
(
entityVertex
),
GraphHelper
.
getGuid
(
entityVertex
),
CLASSIFICATION_LABEL
);
}
}
if
(
getClassificationEdgeState
(
edge
)
==
ACTIVE
)
{
removeFromPropagatedTraitNames
(
entityVertex
,
classificationName
);
removeFromPropagatedTraitNames
(
entityVertex
,
classificationName
);
}
deleteEdge
(
edge
,
true
);
deleteEdge
(
edge
,
true
);
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java
View file @
bb82e0df
...
@@ -25,7 +25,6 @@ import org.apache.atlas.exception.AtlasBaseException;
...
@@ -25,7 +25,6 @@ import org.apache.atlas.exception.AtlasBaseException;
import
org.apache.atlas.model.TimeBoundary
;
import
org.apache.atlas.model.TimeBoundary
;
import
org.apache.atlas.model.TypeCategory
;
import
org.apache.atlas.model.TypeCategory
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasClassification.PropagationState
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntityHeader
;
import
org.apache.atlas.model.instance.AtlasEntityHeader
;
...
@@ -75,22 +74,17 @@ import static org.apache.atlas.model.instance.EntityMutations.EntityOperation.DE
...
@@ -75,22 +74,17 @@ import static org.apache.atlas.model.instance.EntityMutations.EntityOperation.DE
import
static
org
.
apache
.
atlas
.
model
.
instance
.
EntityMutations
.
EntityOperation
.
PARTIAL_UPDATE
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
EntityMutations
.
EntityOperation
.
PARTIAL_UPDATE
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
EntityMutations
.
EntityOperation
.
UPDATE
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
EntityMutations
.
EntityOperation
.
UPDATE
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasStructDef
.
AtlasAttributeDef
.
Cardinality
.
SET
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasStructDef
.
AtlasAttributeDef
.
Cardinality
.
SET
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
CLASSIFICATION_EDGE_STATE_PROPERTY_KEY
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
CLASSIFICATION_LABEL
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
CLASSIFICATION_LABEL
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
STATE_PROPERTY_KEY
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
STATE_PROPERTY_KEY
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
TRAIT_NAMES_PROPERTY_KEY
;
import
static
org
.
apache
.
atlas
.
repository
.
Constants
.
TRAIT_NAMES_PROPERTY_KEY
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
addToPropagatedTraitNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdgeState
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertex
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertex
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getPropagatedClassificationEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTraitLabel
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTraitLabel
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTraitNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTraitNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTypeName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTypeName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTypeNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTypeNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isPropagationEnabled
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isPropagationEnabled
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isRelationshipEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isRelationshipEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
removeFromPropagatedTraitNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
string
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
string
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
updateModificationMetadata
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
updateModificationMetadata
;
import
static
org
.
apache
.
atlas
.
repository
.
store
.
graph
.
v1
.
AtlasGraphUtilsV1
.
getIdFromVertex
;
import
static
org
.
apache
.
atlas
.
repository
.
store
.
graph
.
v1
.
AtlasGraphUtilsV1
.
getIdFromVertex
;
...
@@ -1697,49 +1691,6 @@ public class EntityGraphMapper {
...
@@ -1697,49 +1691,6 @@ public class EntityGraphMapper {
}
}
}
}
public
void
setPropagatedClassificationState
(
String
entityGuid
,
String
classificationName
,
String
sourceEntityGuid
,
boolean
disablePropagation
)
throws
AtlasBaseException
{
AtlasVertex
entityVertex
=
AtlasGraphUtilsV1
.
findByGuid
(
entityGuid
);
if
(
entityVertex
==
null
)
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
entityGuid
);
}
AtlasEdge
propagatedEdge
=
getPropagatedClassificationEdge
(
entityVertex
,
classificationName
,
sourceEntityGuid
);
if
(
propagatedEdge
==
null
)
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
PROPAGATED_CLASSIFICATION_NOT_ASSOCIATED_WITH_ENTITY
,
classificationName
);
}
PropagationState
currentState
=
getClassificationEdgeState
(
propagatedEdge
);
PropagationState
updatedState
=
(
disablePropagation
)
?
PropagationState
.
DELETED
:
PropagationState
.
ACTIVE
;
if
(
currentState
!=
updatedState
)
{
AtlasGraphUtilsV1
.
setProperty
(
propagatedEdge
,
CLASSIFICATION_EDGE_STATE_PROPERTY_KEY
,
updatedState
);
if
(
disablePropagation
)
{
removeFromPropagatedTraitNames
(
entityVertex
,
classificationName
);
}
else
{
addToPropagatedTraitNames
(
entityVertex
,
classificationName
);
}
updateModificationMetadata
(
entityVertex
);
AtlasEntityWithExtInfo
entityWithExtInfo
=
instanceConverter
.
getAndCacheEntity
(
entityGuid
);
AtlasEntity
entity
=
(
entityWithExtInfo
!=
null
)
?
entityWithExtInfo
.
getEntity
()
:
null
;
AtlasClassification
classification
;
if
(
updatedState
==
PropagationState
.
DELETED
)
{
classification
=
entityRetriever
.
toAtlasClassification
(
getClassificationVertex
(
entityVertex
,
classificationName
));
entityChangeNotifier
.
onClassificationDeletedFromEntity
(
entity
,
Collections
.
singletonList
(
classification
));
}
else
{
classification
=
entityRetriever
.
toAtlasClassification
(
propagatedEdge
.
getInVertex
());
entityChangeNotifier
.
onClassificationAddedToEntity
(
entity
,
Collections
.
singletonList
(
classification
));
}
}
}
private
AtlasEdge
mapClassification
(
EntityOperation
operation
,
final
EntityMutationContext
context
,
AtlasClassification
classification
,
private
AtlasEdge
mapClassification
(
EntityOperation
operation
,
final
EntityMutationContext
context
,
AtlasClassification
classification
,
AtlasEntityType
entityType
,
AtlasVertex
parentInstanceVertex
,
AtlasVertex
traitInstanceVertex
)
AtlasEntityType
entityType
,
AtlasVertex
parentInstanceVertex
,
AtlasVertex
traitInstanceVertex
)
throws
AtlasBaseException
{
throws
AtlasBaseException
{
...
...
This diff is collapsed.
Click to expand it.
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java
View file @
bb82e0df
...
@@ -24,7 +24,6 @@ import org.apache.atlas.model.TimeBoundary;
...
@@ -24,7 +24,6 @@ import org.apache.atlas.model.TimeBoundary;
import
org.apache.atlas.model.glossary.enums.AtlasTermAssignmentStatus
;
import
org.apache.atlas.model.glossary.enums.AtlasTermAssignmentStatus
;
import
org.apache.atlas.model.glossary.relations.AtlasTermAssignmentHeader
;
import
org.apache.atlas.model.glossary.relations.AtlasTermAssignmentHeader
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasClassification.PropagationState
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityExtInfo
;
...
@@ -78,8 +77,6 @@ import static org.apache.atlas.glossary.GlossaryUtils.TERM_ASSIGNMENT_ATTR_EXPRE
...
@@ -78,8 +77,6 @@ import static org.apache.atlas.glossary.GlossaryUtils.TERM_ASSIGNMENT_ATTR_EXPRE
import
static
org
.
apache
.
atlas
.
glossary
.
GlossaryUtils
.
TERM_ASSIGNMENT_ATTR_SOURCE
;
import
static
org
.
apache
.
atlas
.
glossary
.
GlossaryUtils
.
TERM_ASSIGNMENT_ATTR_SOURCE
;
import
static
org
.
apache
.
atlas
.
glossary
.
GlossaryUtils
.
TERM_ASSIGNMENT_ATTR_STATUS
;
import
static
org
.
apache
.
atlas
.
glossary
.
GlossaryUtils
.
TERM_ASSIGNMENT_ATTR_STATUS
;
import
static
org
.
apache
.
atlas
.
glossary
.
GlossaryUtils
.
TERM_ASSIGNMENT_ATTR_STEWARD
;
import
static
org
.
apache
.
atlas
.
glossary
.
GlossaryUtils
.
TERM_ASSIGNMENT_ATTR_STEWARD
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
AtlasClassification
.
PropagationState
.
ACTIVE
;
import
static
org
.
apache
.
atlas
.
model
.
instance
.
AtlasClassification
.
PropagationState
.
DELETED
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BIGDECIMAL
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BIGDECIMAL
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BIGINTEGER
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BIGINTEGER
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BOOLEAN
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BOOLEAN
;
...
@@ -100,7 +97,6 @@ import static org.apache.atlas.repository.graph.GraphHelper.getAdjacentEdgesByLa
...
@@ -100,7 +97,6 @@ import static org.apache.atlas.repository.graph.GraphHelper.getAdjacentEdgesByLa
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAllClassificationEdges
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAllClassificationEdges
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAllTraitNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getAllTraitNames
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getBlockedClassificationIds
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getBlockedClassificationIds
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationEdgeState
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertices
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertices
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getIncomingEdgesByLabel
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getIncomingEdgesByLabel
;
...
@@ -108,7 +104,6 @@ import static org.apache.atlas.repository.graph.GraphHelper.getOutGoingEdgesByLa
...
@@ -108,7 +104,6 @@ import static org.apache.atlas.repository.graph.GraphHelper.getOutGoingEdgesByLa
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getPropagateTags
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getPropagateTags
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getRelationshipGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getRelationshipGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTypeName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getTypeName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isPropagatedClassificationEdge
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isPropagationEnabled
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
isPropagationEnabled
;
import
static
org
.
apache
.
atlas
.
repository
.
store
.
graph
.
v1
.
AtlasGraphUtilsV1
.
getIdFromVertex
;
import
static
org
.
apache
.
atlas
.
repository
.
store
.
graph
.
v1
.
AtlasGraphUtilsV1
.
getIdFromVertex
;
import
static
org
.
apache
.
atlas
.
type
.
AtlasStructType
.
AtlasAttribute
.
AtlasRelationshipEdgeDirection
;
import
static
org
.
apache
.
atlas
.
type
.
AtlasStructType
.
AtlasAttribute
.
AtlasRelationshipEdgeDirection
;
...
@@ -582,21 +577,14 @@ public final class EntityGraphRetriever {
...
@@ -582,21 +577,14 @@ public final class EntityGraphRetriever {
if
(
CollectionUtils
.
isNotEmpty
(
edges
))
{
if
(
CollectionUtils
.
isNotEmpty
(
edges
))
{
List
<
AtlasClassification
>
allClassifications
=
new
ArrayList
<>();
List
<
AtlasClassification
>
allClassifications
=
new
ArrayList
<>();
List
<
AtlasClassification
>
propagationDisabledClassifications
=
new
ArrayList
<>();
for
(
AtlasEdge
edge
:
edges
)
{
for
(
AtlasEdge
edge
:
edges
)
{
PropagationState
edgeState
=
getClassificationEdgeState
(
edge
);
AtlasVertex
classificationVertex
=
edge
.
getInVertex
();
AtlasVertex
classificationVertex
=
edge
.
getInVertex
();
if
(
edgeState
==
ACTIVE
)
{
allClassifications
.
add
(
toAtlasClassification
(
classificationVertex
));
allClassifications
.
add
(
toAtlasClassification
(
classificationVertex
));
}
else
if
(
edgeState
==
DELETED
&&
isPropagatedClassificationEdge
(
edge
))
{
propagationDisabledClassifications
.
add
(
toAtlasClassification
(
classificationVertex
));
}
}
}
entity
.
setClassifications
(
allClassifications
);
entity
.
setClassifications
(
allClassifications
);
entity
.
setPropagationDisabledClassifications
(
propagationDisabledClassifications
);
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java
View file @
bb82e0df
...
@@ -575,52 +575,6 @@ public class EntityREST {
...
@@ -575,52 +575,6 @@ public class EntityREST {
}
}
}
}
/**
* Disable/Enable propagated classification for an existing entity represented by its guid.
* @param guid globally unique identifier for the entity
* @param classificationName name of the propagated classification
* @param sourceEntityGuid source entity guid of the propagated classification
* @param disablePropagation disable/enable propagation
*/
@PUT
@Path
(
"/guid/{guid}/propagatedClassifications/{classificationName}"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
setPropagatedClassificationState
(
@PathParam
(
"guid"
)
String
guid
,
@PathParam
(
"classificationName"
)
final
String
classificationName
,
@QueryParam
(
"sourceEntityGuid"
)
String
sourceEntityGuid
,
@QueryParam
(
"disablePropagation"
)
boolean
disablePropagation
)
throws
AtlasBaseException
{
Servlets
.
validateQueryParamLength
(
"guid"
,
guid
);
Servlets
.
validateQueryParamLength
(
"classificationName"
,
classificationName
);
Servlets
.
validateQueryParamLength
(
"sourceEntityGuid"
,
sourceEntityGuid
);
AtlasPerfTracer
perf
=
null
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.setPropagatedClassificationState("
+
guid
+
","
+
classificationName
+
","
+
sourceEntityGuid
+
","
+
disablePropagation
+
")"
);
}
if
(
StringUtils
.
isEmpty
(
guid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
}
if
(
StringUtils
.
isEmpty
(
classificationName
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"propagated classification not specified"
);
}
if
(
StringUtils
.
isEmpty
(
sourceEntityGuid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
sourceEntityGuid
);
}
ensureClassificationType
(
classificationName
);
entitiesStore
.
setPropagatedClassificationState
(
guid
,
classificationName
,
sourceEntityGuid
,
disablePropagation
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
/******************************************************************/
/******************************************************************/
/** Bulk API operations **/
/** Bulk API operations **/
/******************************************************************/
/******************************************************************/
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment