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
df7d7689
Commit
df7d7689
authored
Mar 04, 2017
by
Madhan Neethiraj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATALS-1634: added perf trace logs to REST APIs
parent
571f8d4e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
349 additions
and
94 deletions
+349
-94
AtlasTypeUtil.java
intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
+41
-0
DiscoveryREST.java
...rc/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
+56
-26
EntityREST.java
...p/src/main/java/org/apache/atlas/web/rest/EntityREST.java
+198
-60
LineageREST.java
.../src/main/java/org/apache/atlas/web/rest/LineageREST.java
+15
-2
TypesREST.java
...pp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
+39
-6
No files found.
intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
View file @
df7d7689
...
@@ -378,4 +378,44 @@ public class AtlasTypeUtil {
...
@@ -378,4 +378,44 @@ public class AtlasTypeUtil {
return
false
;
return
false
;
}
}
public
static
String
toDebugString
(
AtlasTypesDef
typesDef
)
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"typesDef={"
);
if
(
typesDef
!=
null
)
{
sb
.
append
(
"enumDefs=["
);
dumpTypeNames
(
typesDef
.
getEnumDefs
(),
sb
);
sb
.
append
(
"],"
);
sb
.
append
(
"structDefs=["
);
dumpTypeNames
(
typesDef
.
getStructDefs
(),
sb
);
sb
.
append
(
"],"
);
sb
.
append
(
"classificationDefs=["
);
dumpTypeNames
(
typesDef
.
getClassificationDefs
(),
sb
);
sb
.
append
(
"],"
);
sb
.
append
(
"entityDefs=["
);
dumpTypeNames
(
typesDef
.
getEntityDefs
(),
sb
);
sb
.
append
(
"]"
);
}
sb
.
append
(
"}"
);
return
sb
.
toString
();
}
private
static
void
dumpTypeNames
(
List
<?
extends
AtlasBaseTypeDef
>
typeDefs
,
StringBuilder
sb
)
{
if
(
CollectionUtils
.
isNotEmpty
(
typeDefs
))
{
for
(
int
i
=
0
;
i
<
typeDefs
.
size
();
i
++)
{
AtlasBaseTypeDef
typeDef
=
typeDefs
.
get
(
i
);
if
(
i
>
0
)
{
sb
.
append
(
","
);
}
sb
.
append
(
typeDef
.
getName
());
}
}
}
}
}
\ No newline at end of file
webapp/src/main/java/org/apache/atlas/web/rest/DiscoveryREST.java
View file @
df7d7689
...
@@ -20,8 +20,10 @@ package org.apache.atlas.web.rest;
...
@@ -20,8 +20,10 @@ package org.apache.atlas.web.rest;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.discovery.AtlasDiscoveryService
;
import
org.apache.atlas.discovery.AtlasDiscoveryService
;
import
org.apache.atlas.model.discovery.AtlasSearchResult
;
import
org.apache.atlas.model.discovery.AtlasSearchResult
;
import
org.apache.atlas.utils.AtlasPerfTracer
;
import
org.apache.atlas.web.util.Servlets
;
import
org.apache.atlas.web.util.Servlets
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
javax.inject.Singleton
;
import
javax.inject.Singleton
;
...
@@ -37,6 +39,8 @@ import javax.ws.rs.QueryParam;
...
@@ -37,6 +39,8 @@ import javax.ws.rs.QueryParam;
@Path
(
"v2/search"
)
@Path
(
"v2/search"
)
@Singleton
@Singleton
public
class
DiscoveryREST
{
public
class
DiscoveryREST
{
private
static
final
Logger
PERF_LOG
=
AtlasPerfTracer
.
getPerfLogger
(
"rest.DiscoveryREST"
);
private
final
AtlasDiscoveryService
atlasDiscoveryService
;
private
final
AtlasDiscoveryService
atlasDiscoveryService
;
@Inject
@Inject
...
@@ -61,27 +65,36 @@ public class DiscoveryREST {
...
@@ -61,27 +65,36 @@ public class DiscoveryREST {
@Path
(
"/dsl"
)
@Path
(
"/dsl"
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasSearchResult
searchUsingDSL
(
@QueryParam
(
"query"
)
String
query
,
public
AtlasSearchResult
searchUsingDSL
(
@QueryParam
(
"query"
)
String
query
,
@QueryParam
(
"type"
)
String
type
,
@QueryParam
(
"type"
)
String
type
,
@QueryParam
(
"classification"
)
String
classification
,
@QueryParam
(
"classification"
)
String
classification
,
@QueryParam
(
"limit"
)
int
limit
,
@QueryParam
(
"limit"
)
int
limit
,
@QueryParam
(
"offset"
)
int
offset
)
throws
AtlasBaseException
{
@QueryParam
(
"offset"
)
int
offset
)
throws
AtlasBaseException
{
String
queryStr
=
query
==
null
?
""
:
query
;
AtlasPerfTracer
perf
=
null
;
if
(
StringUtils
.
isNoneEmpty
(
type
))
{
try
{
queryStr
=
type
+
" "
+
queryStr
;
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"DiscoveryREST.searchUsingDSL("
+
query
+
","
+
type
+
","
+
classification
+
","
+
limit
+
","
+
offset
+
")"
);
}
if
(
StringUtils
.
isNoneEmpty
(
classification
))
{
String
queryStr
=
query
==
null
?
""
:
query
;
// isa works with a type name only - like hive_column isa PII; it doesn't work with more complex query
if
(
StringUtils
.
is
Empty
(
query
))
{
if
(
StringUtils
.
is
NoneEmpty
(
type
))
{
queryStr
+=
(
" isa "
+
classification
)
;
queryStr
=
type
+
" "
+
queryStr
;
}
}
}
AtlasSearchResult
ret
=
atlasDiscoveryService
.
searchUsingDslQuery
(
queryStr
,
limit
,
offset
);
if
(
StringUtils
.
isNoneEmpty
(
classification
))
{
// isa works with a type name only - like hive_column isa PII; it doesn't work with more complex query
if
(
StringUtils
.
isEmpty
(
query
))
{
queryStr
+=
(
" isa "
+
classification
);
}
}
return
ret
;
return
atlasDiscoveryService
.
searchUsingDslQuery
(
queryStr
,
limit
,
offset
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -99,13 +112,21 @@ public class DiscoveryREST {
...
@@ -99,13 +112,21 @@ public class DiscoveryREST {
@Path
(
"/fulltext"
)
@Path
(
"/fulltext"
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasSearchResult
searchUsingFullText
(
@QueryParam
(
"query"
)
String
query
,
public
AtlasSearchResult
searchUsingFullText
(
@QueryParam
(
"query"
)
String
query
,
@QueryParam
(
"limit"
)
int
limit
,
@QueryParam
(
"limit"
)
int
limit
,
@QueryParam
(
"offset"
)
int
offset
)
throws
AtlasBaseException
{
@QueryParam
(
"offset"
)
int
offset
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
AtlasSearchResult
ret
=
atlasDiscoveryService
.
searchUsingFullTextQuery
(
query
,
limit
,
offset
);
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"DiscoveryREST.searchUsingFullText("
+
query
+
","
+
limit
+
","
+
offset
+
")"
);
}
return
ret
;
return
atlasDiscoveryService
.
searchUsingFullTextQuery
(
query
,
limit
,
offset
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -125,14 +146,22 @@ public class DiscoveryREST {
...
@@ -125,14 +146,22 @@ public class DiscoveryREST {
@Path
(
"/basic"
)
@Path
(
"/basic"
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasSearchResult
searchUsingBasic
(
@QueryParam
(
"query"
)
String
query
,
public
AtlasSearchResult
searchUsingBasic
(
@QueryParam
(
"query"
)
String
query
,
@QueryParam
(
"type"
)
String
type
,
@QueryParam
(
"type"
)
String
type
,
@QueryParam
(
"classification"
)
String
classification
,
@QueryParam
(
"classification"
)
String
classification
,
@QueryParam
(
"limit"
)
int
limit
,
@QueryParam
(
"limit"
)
int
limit
,
@QueryParam
(
"offset"
)
int
offset
)
throws
AtlasBaseException
{
@QueryParam
(
"offset"
)
int
offset
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
AtlasSearchResult
ret
=
atlasDiscoveryService
.
searchUsingBasicQuery
(
query
,
type
,
classification
,
limit
,
offset
);
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"DiscoveryREST.searchUsingBasic("
+
query
+
","
+
type
+
","
+
classification
+
","
+
limit
+
","
+
offset
+
")"
);
}
return
ret
;
return
atlasDiscoveryService
.
searchUsingBasicQuery
(
query
,
type
,
classification
,
limit
,
offset
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
}
}
\ No newline at end of file
webapp/src/main/java/org/apache/atlas/web/rest/EntityREST.java
View file @
df7d7689
...
@@ -18,11 +18,9 @@
...
@@ -18,11 +18,9 @@
package
org
.
apache
.
atlas
.
web
.
rest
;
package
org
.
apache
.
atlas
.
web
.
rest
;
import
org.apache.atlas.AtlasErrorCode
;
import
org.apache.atlas.AtlasErrorCode
;
import
org.apache.atlas.AtlasException
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.exception.AtlasBaseException
;
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.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntitiesWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo
;
import
org.apache.atlas.model.instance.AtlasEntity.AtlasEntityWithExtInfo
;
import
org.apache.atlas.model.instance.ClassificationAssociateRequest
;
import
org.apache.atlas.model.instance.ClassificationAssociateRequest
;
...
@@ -36,12 +34,12 @@ import org.apache.atlas.services.MetadataService;
...
@@ -36,12 +34,12 @@ import org.apache.atlas.services.MetadataService;
import
org.apache.atlas.type.AtlasClassificationType
;
import
org.apache.atlas.type.AtlasClassificationType
;
import
org.apache.atlas.type.AtlasEntityType
;
import
org.apache.atlas.type.AtlasEntityType
;
import
org.apache.atlas.type.AtlasTypeRegistry
;
import
org.apache.atlas.type.AtlasTypeRegistry
;
import
org.apache.atlas.typesystem.IStruct
;
import
org.apache.atlas.utils.AtlasPerfTracer
;
import
org.apache.atlas.typesystem.ITypedStruct
;
import
org.apache.atlas.web.util.Servlets
;
import
org.apache.atlas.web.util.Servlets
;
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.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
javax.inject.Singleton
;
import
javax.inject.Singleton
;
...
@@ -62,7 +60,6 @@ import java.util.HashMap;
...
@@ -62,7 +60,6 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
static
org
.
apache
.
atlas
.
repository
.
converters
.
AtlasInstanceConverter
.
toAtlasBaseException
;
/**
/**
* REST for a single entity
* REST for a single entity
...
@@ -70,6 +67,7 @@ import static org.apache.atlas.repository.converters.AtlasInstanceConverter.toAt
...
@@ -70,6 +67,7 @@ import static org.apache.atlas.repository.converters.AtlasInstanceConverter.toAt
@Path
(
"v2/entity"
)
@Path
(
"v2/entity"
)
@Singleton
@Singleton
public
class
EntityREST
{
public
class
EntityREST
{
private
static
final
Logger
PERF_LOG
=
AtlasPerfTracer
.
getPerfLogger
(
"rest.EntityREST"
);
public
static
final
String
PREFIX_ATTR
=
"attr:"
;
public
static
final
String
PREFIX_ATTR
=
"attr:"
;
...
@@ -98,7 +96,17 @@ public class EntityREST {
...
@@ -98,7 +96,17 @@ public class EntityREST {
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasEntityWithExtInfo
getById
(
@PathParam
(
"guid"
)
String
guid
)
throws
AtlasBaseException
{
public
AtlasEntityWithExtInfo
getById
(
@PathParam
(
"guid"
)
String
guid
)
throws
AtlasBaseException
{
return
entitiesStore
.
getById
(
guid
);
AtlasPerfTracer
perf
=
null
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.getById("
+
guid
+
")"
);
}
return
entitiesStore
.
getById
(
guid
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -113,12 +121,23 @@ public class EntityREST {
...
@@ -113,12 +121,23 @@ public class EntityREST {
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasEntityWithExtInfo
getByUniqueAttributes
(
@PathParam
(
"typeName"
)
String
typeName
,
public
AtlasEntityWithExtInfo
getByUniqueAttributes
(
@PathParam
(
"typeName"
)
String
typeName
,
@Context
HttpServletRequest
servletRequest
)
throws
AtlasBaseException
{
@Context
HttpServletRequest
servletRequest
)
throws
AtlasBaseException
{
AtlasEntityType
entityType
=
ensureEntityType
(
typeName
);
AtlasPerfTracer
perf
=
null
;
Map
<
String
,
Object
>
attributes
=
getAttributes
(
servletRequest
);
validateUniqueAttribute
(
entityType
,
attributes
);
try
{
Map
<
String
,
Object
>
attributes
=
getAttributes
(
servletRequest
);
return
entitiesStore
.
getByUniqueAttributes
(
entityType
,
attributes
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.getByUniqueAttributes("
+
typeName
+
","
+
attributes
+
")"
);
}
AtlasEntityType
entityType
=
ensureEntityType
(
typeName
);
validateUniqueAttribute
(
entityType
,
attributes
);
return
entitiesStore
.
getByUniqueAttributes
(
entityType
,
attributes
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -132,7 +151,17 @@ public class EntityREST {
...
@@ -132,7 +151,17 @@ public class EntityREST {
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
createOrUpdate
(
AtlasEntityWithExtInfo
entity
)
throws
AtlasBaseException
{
public
EntityMutationResponse
createOrUpdate
(
AtlasEntityWithExtInfo
entity
)
throws
AtlasBaseException
{
return
entitiesStore
.
createOrUpdate
(
new
AtlasEntityStream
(
entity
),
false
);
AtlasPerfTracer
perf
=
null
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.createOrUpdate()"
);
}
return
entitiesStore
.
createOrUpdate
(
new
AtlasEntityStream
(
entity
),
false
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/*******
/*******
...
@@ -147,12 +176,23 @@ public class EntityREST {
...
@@ -147,12 +176,23 @@ public class EntityREST {
public
EntityMutationResponse
partialUpdateEntityByUniqueAttrs
(
@PathParam
(
"typeName"
)
String
typeName
,
public
EntityMutationResponse
partialUpdateEntityByUniqueAttrs
(
@PathParam
(
"typeName"
)
String
typeName
,
@Context
HttpServletRequest
servletRequest
,
@Context
HttpServletRequest
servletRequest
,
AtlasEntityWithExtInfo
entityInfo
)
throws
Exception
{
AtlasEntityWithExtInfo
entityInfo
)
throws
Exception
{
AtlasEntityType
entityType
=
ensureEntityType
(
typeName
);
AtlasPerfTracer
perf
=
null
;
Map
<
String
,
Object
>
uniqueAttributes
=
getAttributes
(
servletRequest
);
validateUniqueAttribute
(
entityType
,
uniqueAttributes
);
try
{
Map
<
String
,
Object
>
uniqueAttributes
=
getAttributes
(
servletRequest
);
return
entitiesStore
.
updateByUniqueAttributes
(
entityType
,
uniqueAttributes
,
entityInfo
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.partialUpdateEntityByUniqueAttrs("
+
typeName
+
","
+
uniqueAttributes
+
")"
);
}
AtlasEntityType
entityType
=
ensureEntityType
(
typeName
);
validateUniqueAttribute
(
entityType
,
uniqueAttributes
);
return
entitiesStore
.
updateByUniqueAttributes
(
entityType
,
uniqueAttributes
,
entityInfo
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/*******
/*******
...
@@ -168,8 +208,17 @@ public class EntityREST {
...
@@ -168,8 +208,17 @@ public class EntityREST {
public
EntityMutationResponse
partialUpdateEntityAttrByGuid
(
@PathParam
(
"guid"
)
String
guid
,
public
EntityMutationResponse
partialUpdateEntityAttrByGuid
(
@PathParam
(
"guid"
)
String
guid
,
@QueryParam
(
"name"
)
String
attrName
,
@QueryParam
(
"name"
)
String
attrName
,
Object
attrValue
)
throws
Exception
{
Object
attrValue
)
throws
Exception
{
AtlasPerfTracer
perf
=
null
;
return
entitiesStore
.
updateEntityAttributeByGuid
(
guid
,
attrName
,
attrValue
);
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.partialUpdateEntityAttrByGuid("
+
guid
+
","
+
attrName
+
")"
);
}
return
entitiesStore
.
updateEntityAttributeByGuid
(
guid
,
attrName
,
attrValue
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -182,7 +231,17 @@ public class EntityREST {
...
@@ -182,7 +231,17 @@ public class EntityREST {
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
deleteByGuid
(
@PathParam
(
"guid"
)
final
String
guid
)
throws
AtlasBaseException
{
public
EntityMutationResponse
deleteByGuid
(
@PathParam
(
"guid"
)
final
String
guid
)
throws
AtlasBaseException
{
return
entitiesStore
.
deleteById
(
guid
);
AtlasPerfTracer
perf
=
null
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.deleteByGuid("
+
guid
+
")"
);
}
return
entitiesStore
.
deleteById
(
guid
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -197,10 +256,21 @@ public class EntityREST {
...
@@ -197,10 +256,21 @@ public class EntityREST {
@Path
(
"/uniqueAttribute/type/{typeName}"
)
@Path
(
"/uniqueAttribute/type/{typeName}"
)
public
EntityMutationResponse
deleteByUniqueAttribute
(
@PathParam
(
"typeName"
)
String
typeName
,
public
EntityMutationResponse
deleteByUniqueAttribute
(
@PathParam
(
"typeName"
)
String
typeName
,
@Context
HttpServletRequest
servletRequest
)
throws
AtlasBaseException
{
@Context
HttpServletRequest
servletRequest
)
throws
AtlasBaseException
{
AtlasEntityType
entityType
=
ensureEntityType
(
typeName
);
AtlasPerfTracer
perf
=
null
;
Map
<
String
,
Object
>
attributes
=
getAttributes
(
servletRequest
);
return
entitiesStore
.
deleteByUniqueAttributes
(
entityType
,
attributes
);
try
{
Map
<
String
,
Object
>
attributes
=
getAttributes
(
servletRequest
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.deleteByUniqueAttribute("
+
typeName
+
","
+
attributes
+
")"
);
}
AtlasEntityType
entityType
=
ensureEntityType
(
typeName
);
return
entitiesStore
.
deleteByUniqueAttributes
(
entityType
,
attributes
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -212,13 +282,22 @@ public class EntityREST {
...
@@ -212,13 +282,22 @@ public class EntityREST {
@Path
(
"/guid/{guid}/classification/{classificationName}"
)
@Path
(
"/guid/{guid}/classification/{classificationName}"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasClassification
getClassification
(
@PathParam
(
"guid"
)
String
guid
,
@PathParam
(
"classificationName"
)
final
String
classificationName
)
throws
AtlasBaseException
{
public
AtlasClassification
getClassification
(
@PathParam
(
"guid"
)
String
guid
,
@PathParam
(
"classificationName"
)
final
String
classificationName
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
if
(
StringUtils
.
isEmpty
(
guid
))
{
try
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.getClassification("
+
guid
+
","
+
classificationName
+
")"
);
}
if
(
StringUtils
.
isEmpty
(
guid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
}
ensureClassificationType
(
classificationName
);
ensureClassificationType
(
classificationName
);
return
entitiesStore
.
getClassification
(
guid
,
classificationName
);
return
entitiesStore
.
getClassification
(
guid
,
classificationName
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -230,17 +309,21 @@ public class EntityREST {
...
@@ -230,17 +309,21 @@ public class EntityREST {
@Path
(
"/guid/{guid}/classifications"
)
@Path
(
"/guid/{guid}/classifications"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasClassification
.
AtlasClassifications
getClassifications
(
@PathParam
(
"guid"
)
String
guid
)
throws
AtlasBaseException
{
public
AtlasClassification
.
AtlasClassifications
getClassifications
(
@PathParam
(
"guid"
)
String
guid
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
if
(
StringUtils
.
isEmpty
(
guid
))
{
try
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.getClassifications("
+
guid
+
")"
);
}
AtlasClassification
.
AtlasClassifications
classifications
=
new
AtlasClassification
.
AtlasClassifications
();
final
List
<
AtlasClassification
>
classificationList
=
entitiesStore
.
getClassifications
(
guid
);
if
(
StringUtils
.
isEmpty
(
guid
))
{
classifications
.
setList
(
classificationList
);
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
}
return
classifications
;
return
new
AtlasClassification
.
AtlasClassifications
(
entitiesStore
.
getClassifications
(
guid
));
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -252,12 +335,21 @@ public class EntityREST {
...
@@ -252,12 +335,21 @@ public class EntityREST {
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
addClassifications
(
@PathParam
(
"guid"
)
final
String
guid
,
List
<
AtlasClassification
>
classifications
)
throws
AtlasBaseException
{
public
void
addClassifications
(
@PathParam
(
"guid"
)
final
String
guid
,
List
<
AtlasClassification
>
classifications
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
if
(
StringUtils
.
isEmpty
(
guid
))
{
try
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.addClassifications("
+
guid
+
")"
);
}
if
(
StringUtils
.
isEmpty
(
guid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
}
entitiesStore
.
addClassifications
(
guid
,
classifications
);
entitiesStore
.
addClassifications
(
guid
,
classifications
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -269,15 +361,24 @@ public class EntityREST {
...
@@ -269,15 +361,24 @@ public class EntityREST {
@Path
(
"/guid/{guid}/classification/{classificationName}"
)
@Path
(
"/guid/{guid}/classification/{classificationName}"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
deleteClassification
(
@PathParam
(
"guid"
)
String
guid
,
public
void
deleteClassification
(
@PathParam
(
"guid"
)
String
guid
,
@PathParam
(
"classificationName"
)
final
String
classificationName
)
throws
AtlasBaseException
{
@PathParam
(
"classificationName"
)
final
String
classificationName
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
if
(
StringUtils
.
isEmpty
(
guid
))
{
try
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.deleteClassification("
+
guid
+
","
+
classificationName
+
")"
);
}
if
(
StringUtils
.
isEmpty
(
guid
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guid
);
}
ensureClassificationType
(
classificationName
);
ensureClassificationType
(
classificationName
);
entitiesStore
.
deleteClassifications
(
guid
,
new
ArrayList
<
String
>()
{{
add
(
classificationName
);}}
);
entitiesStore
.
deleteClassifications
(
guid
,
new
ArrayList
<
String
>()
{{
add
(
classificationName
);}}
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/******************************************************************/
/******************************************************************/
...
@@ -292,14 +393,21 @@ public class EntityREST {
...
@@ -292,14 +393,21 @@ public class EntityREST {
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasEntitiesWithExtInfo
getByGuids
(
@QueryParam
(
"guid"
)
List
<
String
>
guids
)
throws
AtlasBaseException
{
public
AtlasEntitiesWithExtInfo
getByGuids
(
@QueryParam
(
"guid"
)
List
<
String
>
guids
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
if
(
CollectionUtils
.
isEmpty
(
guids
))
{
try
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guids
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.getByGuids("
+
guids
+
")"
);
}
AtlasEntitiesWithExtInfo
entities
=
entitiesStore
.
getByIds
(
guids
);
if
(
CollectionUtils
.
isEmpty
(
guids
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INSTANCE_GUID_NOT_FOUND
,
guids
);
}
return
entities
;
return
entitiesStore
.
getByIds
(
guids
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -311,10 +419,20 @@ public class EntityREST {
...
@@ -311,10 +419,20 @@ public class EntityREST {
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
createOrUpdate
(
AtlasEntitiesWithExtInfo
entities
)
throws
AtlasBaseException
{
public
EntityMutationResponse
createOrUpdate
(
AtlasEntitiesWithExtInfo
entities
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
EntityStream
entityStream
=
new
AtlasEntityStream
(
entities
);
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.createOrUpdate(entityCount="
+
(
entities
==
null
||
entities
.
getEntities
()
==
null
?
0
:
entities
.
getEntities
().
size
())
+
")"
);
}
return
entitiesStore
.
createOrUpdate
(
entityStream
,
false
);
EntityStream
entityStream
=
new
AtlasEntityStream
(
entities
);
return
entitiesStore
.
createOrUpdate
(
entityStream
,
false
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -325,7 +443,17 @@ public class EntityREST {
...
@@ -325,7 +443,17 @@ public class EntityREST {
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
deleteByGuids
(
@QueryParam
(
"guid"
)
final
List
<
String
>
guids
)
throws
AtlasBaseException
{
public
EntityMutationResponse
deleteByGuids
(
@QueryParam
(
"guid"
)
final
List
<
String
>
guids
)
throws
AtlasBaseException
{
return
entitiesStore
.
deleteByIds
(
guids
);
AtlasPerfTracer
perf
=
null
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.deleteByGuids("
+
guids
+
")"
);
}
return
entitiesStore
.
deleteByIds
(
guids
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -336,18 +464,28 @@ public class EntityREST {
...
@@ -336,18 +464,28 @@ public class EntityREST {
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
addClassification
(
ClassificationAssociateRequest
request
)
throws
AtlasBaseException
{
public
void
addClassification
(
ClassificationAssociateRequest
request
)
throws
AtlasBaseException
{
AtlasClassification
classification
=
request
==
null
?
null
:
request
.
getClassification
();
AtlasPerfTracer
perf
=
null
;
List
<
String
>
entityGuids
=
request
==
null
?
null
:
request
.
getEntityGuids
();
if
(
classification
==
null
||
org
.
apache
.
commons
.
lang
.
StringUtils
.
isEmpty
(
classification
.
getTypeName
()))
{
try
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"no classification"
);
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
}
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"EntityREST.addClassification("
+
request
+
")"
);
}
if
(
CollectionUtils
.
isEmpty
(
entityGuids
))
{
AtlasClassification
classification
=
request
==
null
?
null
:
request
.
getClassification
();
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"empty guid list"
);
List
<
String
>
entityGuids
=
request
==
null
?
null
:
request
.
getEntityGuids
();
}
if
(
classification
==
null
||
org
.
apache
.
commons
.
lang
.
StringUtils
.
isEmpty
(
classification
.
getTypeName
()))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"no classification"
);
}
if
(
CollectionUtils
.
isEmpty
(
entityGuids
))
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
INVALID_PARAMETERS
,
"empty guid list"
);
}
entitiesStore
.
addClassification
(
entityGuids
,
classification
);
entitiesStore
.
addClassification
(
entityGuids
,
classification
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
private
AtlasEntityType
ensureEntityType
(
String
typeName
)
throws
AtlasBaseException
{
private
AtlasEntityType
ensureEntityType
(
String
typeName
)
throws
AtlasBaseException
{
...
...
webapp/src/main/java/org/apache/atlas/web/rest/LineageREST.java
View file @
df7d7689
...
@@ -23,7 +23,9 @@ import org.apache.atlas.discovery.AtlasLineageService;
...
@@ -23,7 +23,9 @@ import org.apache.atlas.discovery.AtlasLineageService;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.model.lineage.AtlasLineageInfo
;
import
org.apache.atlas.model.lineage.AtlasLineageInfo
;
import
org.apache.atlas.model.lineage.AtlasLineageInfo.LineageDirection
;
import
org.apache.atlas.model.lineage.AtlasLineageInfo.LineageDirection
;
import
org.apache.atlas.utils.AtlasPerfTracer
;
import
org.apache.atlas.web.util.Servlets
;
import
org.apache.atlas.web.util.Servlets
;
import
org.slf4j.Logger
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
javax.inject.Singleton
;
import
javax.inject.Singleton
;
...
@@ -43,6 +45,8 @@ import javax.ws.rs.core.Context;
...
@@ -43,6 +45,8 @@ import javax.ws.rs.core.Context;
@Path
(
"v2/lineage"
)
@Path
(
"v2/lineage"
)
@Singleton
@Singleton
public
class
LineageREST
{
public
class
LineageREST
{
private
static
final
Logger
PERF_LOG
=
AtlasPerfTracer
.
getPerfLogger
(
"rest.LineageREST"
);
private
final
AtlasLineageService
atlasLineageService
;
private
final
AtlasLineageService
atlasLineageService
;
private
static
final
String
DEFAULT_DIRECTION
=
"BOTH"
;
private
static
final
String
DEFAULT_DIRECTION
=
"BOTH"
;
private
static
final
String
DEFAULT_DEPTH
=
"3"
;
private
static
final
String
DEFAULT_DEPTH
=
"3"
;
...
@@ -73,9 +77,17 @@ public class LineageREST {
...
@@ -73,9 +77,17 @@ public class LineageREST {
public
AtlasLineageInfo
getLineageGraph
(
@PathParam
(
"guid"
)
String
guid
,
public
AtlasLineageInfo
getLineageGraph
(
@PathParam
(
"guid"
)
String
guid
,
@QueryParam
(
"direction"
)
@DefaultValue
(
DEFAULT_DIRECTION
)
LineageDirection
direction
,
@QueryParam
(
"direction"
)
@DefaultValue
(
DEFAULT_DIRECTION
)
LineageDirection
direction
,
@QueryParam
(
"depth"
)
@DefaultValue
(
DEFAULT_DEPTH
)
int
depth
)
throws
AtlasBaseException
{
@QueryParam
(
"depth"
)
@DefaultValue
(
DEFAULT_DEPTH
)
int
depth
)
throws
AtlasBaseException
{
AtlasPerfTracer
perf
=
null
;
AtlasLineageInfo
ret
=
atlasLineageService
.
getAtlasLineageInfo
(
guid
,
direction
,
depth
);
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"LineageREST.getLineageGraph("
+
guid
+
","
+
direction
+
","
+
depth
+
")"
);
}
return
ret
;
return
atlasLineageService
.
getAtlasLineageInfo
(
guid
,
direction
,
depth
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
}
}
\ No newline at end of file
webapp/src/main/java/org/apache/atlas/web/rest/TypesREST.java
View file @
df7d7689
...
@@ -29,8 +29,10 @@ import org.apache.atlas.model.typedef.AtlasTypeDefHeader;
...
@@ -29,8 +29,10 @@ import org.apache.atlas.model.typedef.AtlasTypeDefHeader;
import
org.apache.atlas.model.typedef.AtlasTypesDef
;
import
org.apache.atlas.model.typedef.AtlasTypesDef
;
import
org.apache.atlas.store.AtlasTypeDefStore
;
import
org.apache.atlas.store.AtlasTypeDefStore
;
import
org.apache.atlas.type.AtlasTypeUtil
;
import
org.apache.atlas.type.AtlasTypeUtil
;
import
org.apache.atlas.utils.AtlasPerfTracer
;
import
org.apache.atlas.web.util.Servlets
;
import
org.apache.atlas.web.util.Servlets
;
import
org.apache.http.annotation.Experimental
;
import
org.apache.http.annotation.Experimental
;
import
org.slf4j.Logger
;
import
javax.inject.Singleton
;
import
javax.inject.Singleton
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
...
@@ -52,6 +54,7 @@ import java.util.Set;
...
@@ -52,6 +54,7 @@ import java.util.Set;
@Path
(
"v2/types"
)
@Path
(
"v2/types"
)
@Singleton
@Singleton
public
class
TypesREST
{
public
class
TypesREST
{
private
static
final
Logger
PERF_LOG
=
AtlasPerfTracer
.
getPerfLogger
(
"rest.TypesREST"
);
private
final
AtlasTypeDefStore
typeDefStore
;
private
final
AtlasTypeDefStore
typeDefStore
;
...
@@ -282,9 +285,18 @@ public class TypesREST {
...
@@ -282,9 +285,18 @@ public class TypesREST {
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasTypesDef
createAtlasTypeDefs
(
final
AtlasTypesDef
typesDef
)
throws
AtlasBaseException
{
public
AtlasTypesDef
createAtlasTypeDefs
(
final
AtlasTypesDef
typesDef
)
throws
AtlasBaseException
{
Atlas
TypesDef
ret
=
typeDefStore
.
createTypesDef
(
typesDef
)
;
Atlas
PerfTracer
perf
=
null
;
return
ret
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"TypesREST.createAtlasTypeDefs("
+
AtlasTypeUtil
.
toDebugString
(
typesDef
)
+
")"
);
}
return
typeDefStore
.
createTypesDef
(
typesDef
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -301,9 +313,18 @@ public class TypesREST {
...
@@ -301,9 +313,18 @@ public class TypesREST {
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Experimental
@Experimental
public
AtlasTypesDef
updateAtlasTypeDefs
(
final
AtlasTypesDef
typesDef
)
throws
AtlasBaseException
{
public
AtlasTypesDef
updateAtlasTypeDefs
(
final
AtlasTypesDef
typesDef
)
throws
AtlasBaseException
{
Atlas
TypesDef
ret
=
typeDefStore
.
updateTypesDef
(
typesDef
)
;
Atlas
PerfTracer
perf
=
null
;
return
ret
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"TypesREST.updateAtlasTypeDefs("
+
AtlasTypeUtil
.
toDebugString
(
typesDef
)
+
")"
);
}
return
typeDefStore
.
updateTypesDef
(
typesDef
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -319,7 +340,18 @@ public class TypesREST {
...
@@ -319,7 +340,18 @@ public class TypesREST {
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Experimental
@Experimental
public
void
deleteAtlasTypeDefs
(
final
AtlasTypesDef
typesDef
)
throws
AtlasBaseException
{
public
void
deleteAtlasTypeDefs
(
final
AtlasTypesDef
typesDef
)
throws
AtlasBaseException
{
typeDefStore
.
deleteTypesDef
(
typesDef
);
AtlasPerfTracer
perf
=
null
;
try
{
if
(
AtlasPerfTracer
.
isPerfTraceEnabled
(
PERF_LOG
))
{
perf
=
AtlasPerfTracer
.
getPerfTracer
(
PERF_LOG
,
"TypesREST.deleteAtlasTypeDefs("
+
AtlasTypeUtil
.
toDebugString
(
typesDef
)
+
")"
);
}
typeDefStore
.
deleteTypesDef
(
typesDef
);
}
finally
{
AtlasPerfTracer
.
log
(
perf
);
}
}
}
/**
/**
...
@@ -334,4 +366,5 @@ public class TypesREST {
...
@@ -334,4 +366,5 @@ public class TypesREST {
}
}
return
ret
;
return
ret
;
}}
}
}
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