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
5fed48d9
Commit
5fed48d9
authored
7 years ago
by
apoorvnaik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-2659: IllegalStateException handling in Collection pipeline code
Change-Id: I01d983596ceb55b43e0d999a0e982ec006c9a246
parent
9e3af41b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
12 deletions
+35
-12
GlossaryTermUtils.java
...ain/java/org/apache/atlas/glossary/GlossaryTermUtils.java
+35
-12
No files found.
repository/src/main/java/org/apache/atlas/glossary/GlossaryTermUtils.java
View file @
5fed48d9
...
@@ -33,11 +33,13 @@ import org.apache.atlas.type.AtlasRelationshipType;
...
@@ -33,11 +33,13 @@ import org.apache.atlas.type.AtlasRelationshipType;
import
org.apache.atlas.type.AtlasTypeRegistry
;
import
org.apache.atlas.type.AtlasTypeRegistry
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.Set
;
...
@@ -228,11 +230,18 @@ public class GlossaryTermUtils extends GlossaryUtils {
...
@@ -228,11 +230,18 @@ public class GlossaryTermUtils extends GlossaryUtils {
}
}
private
Map
<
String
,
AtlasRelatedTermHeader
>
getRelatedTermHeaders
(
Map
<
AtlasGlossaryTerm
.
Relation
,
Set
<
AtlasRelatedTermHeader
>>
relatedTerms
,
AtlasGlossaryTerm
.
Relation
relation
)
{
private
Map
<
String
,
AtlasRelatedTermHeader
>
getRelatedTermHeaders
(
Map
<
AtlasGlossaryTerm
.
Relation
,
Set
<
AtlasRelatedTermHeader
>>
relatedTerms
,
AtlasGlossaryTerm
.
Relation
relation
)
{
return
Objects
.
nonNull
(
relatedTerms
.
get
(
relation
))
?
if
(
Objects
.
nonNull
(
relatedTerms
.
get
(
relation
)))
{
relatedTerms
.
get
(
relation
)
Map
<
String
,
AtlasRelatedTermHeader
>
map
=
new
HashMap
<>();
.
stream
()
for
(
AtlasRelatedTermHeader
t
:
relatedTerms
.
get
(
relation
))
{
.
collect
(
Collectors
.
toMap
(
AtlasRelatedTermHeader:
:
getTermGuid
,
t
->
t
))
:
AtlasRelatedTermHeader
header
=
map
.
get
(
t
.
getTermGuid
());
Collections
.
EMPTY_MAP
;
if
(
header
==
null
||
(
StringUtils
.
isEmpty
(
header
.
getRelationGuid
())
&&
StringUtils
.
isNotEmpty
(
t
.
getRelationGuid
())))
{
map
.
put
(
t
.
getTermGuid
(),
t
);
}
}
return
map
;
}
else
{
return
Collections
.
emptyMap
();
}
}
}
private
boolean
updatedExistingTermRelation
(
Map
<
String
,
AtlasRelatedTermHeader
>
existingTermHeaders
,
AtlasRelatedTermHeader
header
)
{
private
boolean
updatedExistingTermRelation
(
Map
<
String
,
AtlasRelatedTermHeader
>
existingTermHeaders
,
AtlasRelatedTermHeader
header
)
{
...
@@ -301,11 +310,18 @@ public class GlossaryTermUtils extends GlossaryUtils {
...
@@ -301,11 +310,18 @@ public class GlossaryTermUtils extends GlossaryUtils {
}
}
private
Map
<
String
,
AtlasTermCategorizationHeader
>
getAssociatedCategories
(
final
AtlasGlossaryTerm
term
)
{
private
Map
<
String
,
AtlasTermCategorizationHeader
>
getAssociatedCategories
(
final
AtlasGlossaryTerm
term
)
{
return
Objects
.
nonNull
(
term
.
getCategories
())
?
if
(
Objects
.
nonNull
(
term
.
getCategories
()))
{
term
.
getCategories
()
Map
<
String
,
AtlasTermCategorizationHeader
>
map
=
new
HashMap
<>();
.
stream
()
for
(
AtlasTermCategorizationHeader
c
:
term
.
getCategories
())
{
.
collect
(
Collectors
.
toMap
(
AtlasTermCategorizationHeader:
:
getCategoryGuid
,
c
->
c
))
:
AtlasTermCategorizationHeader
header
=
map
.
get
(
c
.
getCategoryGuid
());
Collections
.
EMPTY_MAP
;
if
(
header
==
null
||
(
StringUtils
.
isEmpty
(
header
.
getRelationGuid
())
&&
StringUtils
.
isNotEmpty
(
c
.
getRelationGuid
())))
{
map
.
put
(
c
.
getCategoryGuid
(),
c
);
}
}
return
map
;
}
else
{
return
Collections
.
emptyMap
();
}
}
}
private
void
createTermCategorizationRelationships
(
AtlasGlossaryTerm
existing
,
Collection
<
AtlasTermCategorizationHeader
>
categories
)
throws
AtlasBaseException
{
private
void
createTermCategorizationRelationships
(
AtlasGlossaryTerm
existing
,
Collection
<
AtlasTermCategorizationHeader
>
categories
)
throws
AtlasBaseException
{
...
@@ -354,12 +370,19 @@ public class GlossaryTermUtils extends GlossaryUtils {
...
@@ -354,12 +370,19 @@ public class GlossaryTermUtils extends GlossaryUtils {
if
(
CollectionUtils
.
isNotEmpty
(
terms
))
{
if
(
CollectionUtils
.
isNotEmpty
(
terms
))
{
Map
<
String
,
AtlasRelatedTermHeader
>
existingRelations
;
Map
<
String
,
AtlasRelatedTermHeader
>
existingRelations
;
if
(
Objects
.
nonNull
(
existing
.
getRelatedTerms
())
&&
Objects
.
nonNull
(
existing
.
getRelatedTerms
().
get
(
relation
)))
{
if
(
Objects
.
nonNull
(
existing
.
getRelatedTerms
())
&&
Objects
.
nonNull
(
existing
.
getRelatedTerms
().
get
(
relation
)))
{
existingRelations
=
existing
.
getRelatedTerms
().
get
(
relation
).
stream
().
collect
(
Collectors
.
toMap
(
AtlasRelatedTermHeader:
:
getTermGuid
,
t
->
t
));
Map
<
String
,
AtlasRelatedTermHeader
>
map
=
new
HashMap
<>();
for
(
AtlasRelatedTermHeader
t
:
existing
.
getRelatedTerms
().
get
(
relation
))
{
AtlasRelatedTermHeader
header
=
map
.
get
(
t
.
getTermGuid
());
if
(
header
==
null
||
(
StringUtils
.
isEmpty
(
header
.
getRelationGuid
())
&&
StringUtils
.
isNotEmpty
(
t
.
getRelationGuid
())))
{
map
.
put
(
t
.
getTermGuid
(),
t
);
}
}
existingRelations
=
map
;
}
else
{
}
else
{
existingRelations
=
Collections
.
emptyMap
();
existingRelations
=
Collections
.
emptyMap
();
}
}
for
(
AtlasRelatedTermHeader
term
:
terms
)
{
for
(
AtlasRelatedTermHeader
term
:
terms
)
{
if
(
Objects
.
nonNull
(
existingRelations
)
&&
existingRelations
.
containsKey
(
term
.
getTermGuid
()))
{
if
(
existingRelations
.
containsKey
(
term
.
getTermGuid
()))
{
if
(
DEBUG_ENABLED
)
{
if
(
DEBUG_ENABLED
)
{
LOG
.
debug
(
"Skipping existing term relation termGuid={}"
,
term
.
getTermGuid
());
LOG
.
debug
(
"Skipping existing term relation termGuid={}"
,
term
.
getTermGuid
());
}
}
...
...
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