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
May 07, 2018
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
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 {
private
Boolean
propagate
=
null
;
private
List
<
TimeBoundary
>
validityPeriods
=
null
;
public
enum
PropagationState
{
ACTIVE
,
DELETED
}
public
AtlasClassification
()
{
this
(
null
,
null
);
}
...
...
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 {
private
Map
<
String
,
Object
>
relationshipAttributes
;
private
List
<
AtlasClassification
>
classifications
;
private
List
<
AtlasClassification
>
propagationDisabledClassifications
;
private
List
<
AtlasTermAssignmentHeader
>
meanings
;
@JsonIgnore
...
...
@@ -166,7 +165,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
setUpdateTime
(
other
.
getUpdateTime
());
setVersion
(
other
.
getVersion
());
setClassifications
(
other
.
getClassifications
());
setPropagationDisabledClassifications
(
other
.
getPropagationDisabledClassifications
());
}
}
...
...
@@ -261,14 +259,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
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
)
{
List
<
AtlasClassification
>
c
=
this
.
classifications
;
...
...
@@ -307,7 +297,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
setCreateTime
(
null
);
setUpdateTime
(
null
);
setClassifications
(
null
);
setPropagationDisabledClassifications
(
null
);
setMeanings
(
null
);
}
...
...
@@ -336,9 +325,6 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
sb
.
append
(
", classifications=["
);
AtlasBaseTypeDef
.
dumpObjects
(
classifications
,
sb
);
sb
.
append
(
']'
);
sb
.
append
(
", propagationDisabledClassifications=["
);
AtlasBaseTypeDef
.
dumpObjects
(
propagationDisabledClassifications
,
sb
);
sb
.
append
(
']'
);
sb
.
append
(
", meanings=["
);
AtlasBaseTypeDef
.
dumpObjects
(
meanings
,
sb
);
sb
.
append
(
']'
);
...
...
@@ -362,14 +348,13 @@ public class AtlasEntity extends AtlasStruct implements Serializable {
Objects
.
equals
(
updateTime
,
that
.
updateTime
)
&&
Objects
.
equals
(
version
,
that
.
version
)
&&
Objects
.
equals
(
relationshipAttributes
,
that
.
relationshipAttributes
)
&&
Objects
.
equals
(
classifications
,
that
.
classifications
)
&&
Objects
.
equals
(
propagationDisabledClassifications
,
that
.
propagationDisabledClassifications
);
Objects
.
equals
(
classifications
,
that
.
classifications
);
}
@Override
public
int
hashCode
()
{
return
Objects
.
hash
(
super
.
hashCode
(),
guid
,
status
,
createdBy
,
updatedBy
,
createTime
,
updateTime
,
version
,
relationshipAttributes
,
classifications
,
propagationDisabledClassifications
);
relationshipAttributes
,
classifications
);
}
@Override
...
...
repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java
View file @
bb82e0df
...
...
@@ -195,7 +195,6 @@ public final class GraphHelper {
if
(
ret
!=
null
)
{
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_STATE_PROPERTY_KEY
,
AtlasClassification
.
PropagationState
.
ACTIVE
);
}
return
ret
;
...
...
@@ -1171,19 +1170,6 @@ public final class GraphHelper {
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
)
{
boolean
ret
=
false
;
...
...
repository/src/main/java/org/apache/atlas/repository/store/graph/AtlasEntityStore.java
View file @
bb82e0df
...
...
@@ -166,6 +166,4 @@ public interface AtlasEntityStore {
List
<
AtlasClassification
>
getClassifications
(
String
guid
)
throws
AtlasBaseException
;
AtlasClassification
getClassification
(
String
guid
,
String
classificationName
)
throws
AtlasBaseException
;
void
setPropagatedClassificationState
(
String
guid
,
String
classificationName
,
String
sourceEntityGuid
,
boolean
disablePropagation
)
throws
AtlasBaseException
;
}
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 {
@Override
@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
{
if
(
StringUtils
.
isEmpty
(
guid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"Guid(s) not specified"
);
...
...
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/DeleteHandlerV1.java
View file @
bb82e0df
...
...
@@ -51,7 +51,6 @@ import org.slf4j.LoggerFactory;
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
.
typedef
.
AtlasRelationshipDef
.
PropagateTags
.
ONE_TO_TWO
;
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
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
.
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
.
getClassificationName
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getClassificationVertices
;
...
...
@@ -584,9 +582,7 @@ public abstract class DeleteHandlerV1 {
graphHelper
.
removeEdge
(
propagatedEdge
);
if
(
getClassificationEdgeState
(
propagatedEdge
)
==
ACTIVE
)
{
removeFromPropagatedTraitNames
(
impactedEntityVertex
,
classificationName
);
}
removeFromPropagatedTraitNames
(
impactedEntityVertex
,
classificationName
);
}
else
{
if
(
LOG
.
isDebugEnabled
())
{
LOG
.
debug
(
" --> Not removing propagated classification edge from [{}] --> [{}][{}] using edge label: [{}], since edge doesn't exist"
,
...
...
@@ -607,9 +603,7 @@ public abstract class DeleteHandlerV1 {
getTypeName
(
entityVertex
),
GraphHelper
.
getGuid
(
entityVertex
),
CLASSIFICATION_LABEL
);
}
if
(
getClassificationEdgeState
(
edge
)
==
ACTIVE
)
{
removeFromPropagatedTraitNames
(
entityVertex
,
classificationName
);
}
removeFromPropagatedTraitNames
(
entityVertex
,
classificationName
);
deleteEdge
(
edge
,
true
);
...
...
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;
import
org.apache.atlas.model.TimeBoundary
;
import
org.apache.atlas.model.TypeCategory
;
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.AtlasEntityWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntityHeader
;
...
...
@@ -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
.
UPDATE
;
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
.
STATE_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
.
getClassificationEdgeState
;
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
.
getTraitNames
;
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
.
isPropagationEnabled
;
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
.
updateModificationMetadata
;
import
static
org
.
apache
.
atlas
.
repository
.
store
.
graph
.
v1
.
AtlasGraphUtilsV1
.
getIdFromVertex
;
...
...
@@ -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
,
AtlasEntityType
entityType
,
AtlasVertex
parentInstanceVertex
,
AtlasVertex
traitInstanceVertex
)
throws
AtlasBaseException
{
...
...
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;
import
org.apache.atlas.model.glossary.enums.AtlasTermAssignmentStatus
;
import
org.apache.atlas.model.glossary.relations.AtlasTermAssignmentHeader
;
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.AtlasEntitiesWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityExtInfo
;
...
...
@@ -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_STATUS
;
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_BIGINTEGER
;
import
static
org
.
apache
.
atlas
.
model
.
typedef
.
AtlasBaseTypeDef
.
ATLAS_TYPE_BOOLEAN
;
...
...
@@ -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
.
getAllTraitNames
;
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
.
getGuid
;
import
static
org
.
apache
.
atlas
.
repository
.
graph
.
GraphHelper
.
getIncomingEdgesByLabel
;
...
...
@@ -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
.
getRelationshipGuid
;
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
.
store
.
graph
.
v1
.
AtlasGraphUtilsV1
.
getIdFromVertex
;
import
static
org
.
apache
.
atlas
.
type
.
AtlasStructType
.
AtlasAttribute
.
AtlasRelationshipEdgeDirection
;
...
...
@@ -582,21 +577,14 @@ public final class EntityGraphRetriever {
if
(
CollectionUtils
.
isNotEmpty
(
edges
))
{
List
<
AtlasClassification
>
allClassifications
=
new
ArrayList
<>();
List
<
AtlasClassification
>
propagationDisabledClassifications
=
new
ArrayList
<>();
for
(
AtlasEdge
edge
:
edges
)
{
PropagationState
edgeState
=
getClassificationEdgeState
(
edge
);
AtlasVertex
classificationVertex
=
edge
.
getInVertex
();
AtlasVertex
classificationVertex
=
edge
.
getInVertex
();
if
(
edgeState
==
ACTIVE
)
{
allClassifications
.
add
(
toAtlasClassification
(
classificationVertex
));
}
else
if
(
edgeState
==
DELETED
&&
isPropagatedClassificationEdge
(
edge
))
{
propagationDisabledClassifications
.
add
(
toAtlasClassification
(
classificationVertex
));
}
allClassifications
.
add
(
toAtlasClassification
(
classificationVertex
));
}
entity
.
setClassifications
(
allClassifications
);
entity
.
setPropagationDisabledClassifications
(
propagationDisabledClassifications
);
}
}
...
...
webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java
View file @
bb82e0df
...
...
@@ -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 **/
/******************************************************************/
...
...
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