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
2b43fd00
Commit
2b43fd00
authored
Nov 14, 2017
by
Sarath Subramanian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-2258: Fix new Integration test failures introduced due to ATLAS-2251
parent
6a1c4f4d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
186 additions
and
106 deletions
+186
-106
pom.xml
addons/falcon-bridge/pom.xml
+2
-2
pom.xml
addons/hive-bridge/pom.xml
+2
-2
HiveITBase.java
...ridge/src/test/java/org/apache/atlas/hive/HiveITBase.java
+1
-1
HiveHookIT.java
.../src/test/java/org/apache/atlas/hive/hook/HiveHookIT.java
+16
-5
pom.xml
addons/sqoop-bridge/pom.xml
+2
-2
pom.xml
addons/storm-bridge/pom.xml
+2
-2
AtlasClient.java
...client-v1/src/main/java/org/apache/atlas/AtlasClient.java
+6
-5
EntityAuditEvent.java
...t-v1/src/main/java/org/apache/atlas/EntityAuditEvent.java
+29
-6
AtlasType.java
intg/src/main/java/org/apache/atlas/type/AtlasType.java
+5
-0
Referenceable.java
...ava/org/apache/atlas/v1/model/instance/Referenceable.java
+4
-0
Struct.java
.../main/java/org/apache/atlas/v1/model/instance/Struct.java
+2
-2
EntityNotificationV1.java
...che/atlas/v1/model/notification/EntityNotificationV1.java
+2
-2
HookNotificationV1.java
...pache/atlas/v1/model/notification/HookNotificationV1.java
+2
-2
AtlasEntityFormatConverter.java
...las/repository/converters/AtlasEntityFormatConverter.java
+6
-1
AtlasEntityStoreV1.java
...e/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
+1
-1
EntityResource.java
...n/java/org/apache/atlas/web/resources/EntityResource.java
+4
-1
DataSetLineageJerseyResourceIT.java
...atlas/web/integration/DataSetLineageJerseyResourceIT.java
+34
-41
EntityDiscoveryJerseyResourceIT.java
...tlas/web/integration/EntityDiscoveryJerseyResourceIT.java
+3
-3
EntityJerseyResourceIT.java
.../apache/atlas/web/integration/EntityJerseyResourceIT.java
+0
-0
MetadataDiscoveryJerseyResourceIT.java
...as/web/integration/MetadataDiscoveryJerseyResourceIT.java
+9
-5
TypesJerseyResourceIT.java
...g/apache/atlas/web/integration/TypesJerseyResourceIT.java
+54
-23
No files found.
addons/falcon-bridge/pom.xml
View file @
2b43fd00
...
@@ -321,10 +321,10 @@
...
@@ -321,10 +321,10 @@
<goal>
copy-resources
</goal>
<goal>
copy-resources
</goal>
</goals>
</goals>
<configuration>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resources>
<resource>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
<filtering>
true
</filtering>
</resource>
</resource>
</resources>
</resources>
...
...
addons/hive-bridge/pom.xml
View file @
2b43fd00
...
@@ -377,10 +377,10 @@
...
@@ -377,10 +377,10 @@
<goal>
copy-resources
</goal>
<goal>
copy-resources
</goal>
</goals>
</goals>
<configuration>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resources>
<resource>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
<filtering>
true
</filtering>
</resource>
</resource>
</resources>
</resources>
...
...
addons/hive-bridge/src/test/java/org/apache/atlas/hive/HiveITBase.java
View file @
2b43fd00
...
@@ -155,7 +155,7 @@ public class HiveITBase {
...
@@ -155,7 +155,7 @@ public class HiveITBase {
protected
String
assertEntityIsRegistered
(
final
String
typeName
,
final
String
property
,
final
String
value
,
protected
String
assertEntityIsRegistered
(
final
String
typeName
,
final
String
property
,
final
String
value
,
final
HiveHookIT
.
AssertPredicate
assertPredicate
)
throws
Exception
{
final
HiveHookIT
.
AssertPredicate
assertPredicate
)
throws
Exception
{
waitFor
(
1
000
,
new
HiveHookIT
.
Predicate
()
{
waitFor
(
80
000
,
new
HiveHookIT
.
Predicate
()
{
@Override
@Override
public
void
evaluate
()
throws
Exception
{
public
void
evaluate
()
throws
Exception
{
Referenceable
entity
=
atlasClient
.
getEntity
(
typeName
,
property
,
value
);
Referenceable
entity
=
atlasClient
.
getEntity
(
typeName
,
property
,
value
);
...
...
addons/hive-bridge/src/test/java/org/apache/atlas/hive/hook/HiveHookIT.java
View file @
2b43fd00
...
@@ -1376,8 +1376,7 @@ public class HiveHookIT extends HiveITBase {
...
@@ -1376,8 +1376,7 @@ public class HiveHookIT extends HiveITBase {
List
<
String
>
bucketColNames
,
List
<
String
>
bucketColNames
,
List
<
String
>
sortcolNames
)
throws
Exception
{
List
<
String
>
sortcolNames
)
throws
Exception
{
Referenceable
sdRef
=
(
Referenceable
)
tableRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_DESC
);
Referenceable
sdRef
=
(
Referenceable
)
tableRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_DESC
);
Assert
.
assertEquals
(((
scala
.
math
.
BigInt
)
sdRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_NUM_BUCKETS
)).
intValue
(),
Assert
.
assertEquals
((
sdRef
.
get
(
HiveMetaStoreBridge
.
STORAGE_NUM_BUCKETS
)),
numBuckets
);
numBuckets
);
Assert
.
assertEquals
(
sdRef
.
get
(
"bucketCols"
),
bucketColNames
);
Assert
.
assertEquals
(
sdRef
.
get
(
"bucketCols"
),
bucketColNames
);
List
<
Struct
>
hiveOrderStructList
=
(
List
<
Struct
>)
sdRef
.
get
(
"sortCols"
);
List
<
Struct
>
hiveOrderStructList
=
(
List
<
Struct
>)
sdRef
.
get
(
"sortCols"
);
...
@@ -1386,7 +1385,7 @@ public class HiveHookIT extends HiveITBase {
...
@@ -1386,7 +1385,7 @@ public class HiveHookIT extends HiveITBase {
for
(
int
i
=
0
;
i
<
sortcolNames
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
sortcolNames
.
size
();
i
++)
{
Assert
.
assertEquals
(
hiveOrderStructList
.
get
(
i
).
get
(
"col"
),
sortcolNames
.
get
(
i
));
Assert
.
assertEquals
(
hiveOrderStructList
.
get
(
i
).
get
(
"col"
),
sortcolNames
.
get
(
i
));
Assert
.
assertEquals
(
((
scala
.
math
.
BigInt
)
hiveOrderStructList
.
get
(
i
).
get
(
"order"
)).
intValue
(
),
1
);
Assert
.
assertEquals
(
hiveOrderStructList
.
get
(
i
).
get
(
"order"
),
1
);
}
}
}
}
...
@@ -1474,7 +1473,7 @@ public class HiveHookIT extends HiveITBase {
...
@@ -1474,7 +1473,7 @@ public class HiveHookIT extends HiveITBase {
String
dbName
=
"db"
+
random
();
String
dbName
=
"db"
+
random
();
runCommand
(
"create database "
+
dbName
+
" WITH DBPROPERTIES ('p1'='v1')"
);
runCommand
(
"create database "
+
dbName
+
" WITH DBPROPERTIES ('p1'='v1')"
);
final
int
numTables
=
10
;
final
int
numTables
=
5
;
String
[]
tableNames
=
new
String
[
numTables
];
String
[]
tableNames
=
new
String
[
numTables
];
for
(
int
i
=
0
;
i
<
numTables
;
i
++)
{
for
(
int
i
=
0
;
i
<
numTables
;
i
++)
{
tableNames
[
i
]
=
createTable
(
true
,
true
,
false
);
tableNames
[
i
]
=
createTable
(
true
,
true
,
false
);
...
@@ -1486,7 +1485,19 @@ public class HiveHookIT extends HiveITBase {
...
@@ -1486,7 +1485,19 @@ public class HiveHookIT extends HiveITBase {
final
String
query
=
String
.
format
(
"drop database %s"
,
dbName
);
final
String
query
=
String
.
format
(
"drop database %s"
,
dbName
);
runCommand
(
query
);
runCommand
(
query
);
assertDBIsNotRegistered
(
dbName
);
String
dbQualifiedName
=
HiveMetaStoreBridge
.
getDBQualifiedName
(
CLUSTER_NAME
,
dbName
);
Thread
.
sleep
(
5000
);
try
{
atlasClient
.
getEntity
(
HiveDataTypes
.
HIVE_DB
.
getName
(),
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
dbQualifiedName
);
}
catch
(
AtlasServiceException
e
)
{
if
(
e
.
getStatus
()
==
ClientResponse
.
Status
.
NOT_FOUND
)
{
return
;
}
}
fail
(
String
.
format
(
"Entity was not supposed to exist for typeName = %s, attributeName = %s, attributeValue = %s"
,
HiveDataTypes
.
HIVE_DB
.
getName
(),
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
dbQualifiedName
));
}
}
@Test
@Test
...
...
addons/sqoop-bridge/pom.xml
View file @
2b43fd00
...
@@ -382,10 +382,10 @@
...
@@ -382,10 +382,10 @@
<goal>
copy-resources
</goal>
<goal>
copy-resources
</goal>
</goals>
</goals>
<configuration>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resources>
<resource>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
<filtering>
true
</filtering>
</resource>
</resource>
</resources>
</resources>
...
...
addons/storm-bridge/pom.xml
View file @
2b43fd00
...
@@ -404,10 +404,10 @@
...
@@ -404,10 +404,10 @@
<goal>
copy-resources
</goal>
<goal>
copy-resources
</goal>
</goals>
</goals>
<configuration>
<configuration>
<outputDirectory>
${basedir}/target/models
/1000-Hadoop
</outputDirectory>
<outputDirectory>
${basedir}/target/models
</outputDirectory>
<resources>
<resources>
<resource>
<resource>
<directory>
${basedir}/../models
/1000-Hadoop
</directory>
<directory>
${basedir}/../models
</directory>
<filtering>
true
</filtering>
<filtering>
true
</filtering>
</resource>
</resource>
</resources>
</resources>
...
...
client/client-v1/src/main/java/org/apache/atlas/AtlasClient.java
View file @
2b43fd00
...
@@ -282,12 +282,13 @@ public class AtlasClient extends AtlasBaseClient {
...
@@ -282,12 +282,13 @@ public class AtlasClient extends AtlasBaseClient {
* @throws AtlasServiceException
* @throws AtlasServiceException
*/
*/
public
List
<
String
>
createTraitType
(
String
traitName
,
Set
<
String
>
superTraits
,
AttributeDefinition
...
attributeDefinitions
)
throws
AtlasServiceException
{
public
List
<
String
>
createTraitType
(
String
traitName
,
Set
<
String
>
superTraits
,
AttributeDefinition
...
attributeDefinitions
)
throws
AtlasServiceException
{
TraitTypeDefinition
piiTrait
=
TraitTypeDefinition
piiTrait
=
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
superTraits
,
Arrays
.
asList
(
attributeDefinitions
));
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
superTraits
,
Arrays
.
asList
(
attributeDefinitions
));
TypesDef
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
piiTrait
),
Collections
.
emptyList
());
String
traitDefinitionAsJSON
=
AtlasType
.
toV1Json
(
piiTrait
);
LOG
.
debug
(
"Creating trait type {} {}"
,
traitName
,
AtlasType
.
toV1Json
(
piiTrait
)
);
LOG
.
debug
(
"Creating trait type {} {}"
,
traitName
,
traitDefinitionAsJSON
);
return
createType
(
traitDefinitionAsJSON
);
return
createType
(
AtlasType
.
toV1Json
(
typesDef
)
);
}
}
/**
/**
...
...
client/client-v1/src/main/java/org/apache/atlas/EntityAuditEvent.java
View file @
2b43fd00
...
@@ -21,13 +21,29 @@ package org.apache.atlas;
...
@@ -21,13 +21,29 @@ package org.apache.atlas;
import
org.apache.atlas.v1.model.instance.Referenceable
;
import
org.apache.atlas.v1.model.instance.Referenceable
;
import
org.apache.atlas.type.AtlasType
;
import
org.apache.atlas.type.AtlasType
;
import
org.codehaus.jackson.annotate.JsonAutoDetect
;
import
org.codehaus.jackson.annotate.JsonIgnore
;
import
org.codehaus.jackson.annotate.JsonIgnoreProperties
;
import
org.codehaus.jackson.map.annotate.JsonSerialize
;
import
javax.xml.bind.annotation.XmlAccessType
;
import
javax.xml.bind.annotation.XmlAccessorType
;
import
javax.xml.bind.annotation.XmlRootElement
;
import
java.io.Serializable
;
import
java.util.Objects
;
import
java.util.Objects
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
NONE
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
PUBLIC_ONLY
;
/**
/**
* Structure of entity audit event
* Structure of entity audit event
*/
*/
public
class
EntityAuditEvent
{
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
ALWAYS
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
public
class
EntityAuditEvent
implements
Serializable
{
public
enum
EntityAuditAction
{
public
enum
EntityAuditAction
{
ENTITY_CREATE
,
ENTITY_UPDATE
,
ENTITY_DELETE
,
TAG_ADD
,
TAG_DELETE
,
TAG_UPDATE
,
ENTITY_CREATE
,
ENTITY_UPDATE
,
ENTITY_DELETE
,
TAG_ADD
,
TAG_DELETE
,
TAG_UPDATE
,
ENTITY_IMPORT_CREATE
,
ENTITY_IMPORT_UPDATE
,
ENTITY_IMPORT_DELETE
,
ENTITY_IMPORT_CREATE
,
ENTITY_IMPORT_UPDATE
,
ENTITY_IMPORT_DELETE
,
...
@@ -78,10 +94,6 @@ public class EntityAuditEvent {
...
@@ -78,10 +94,6 @@ public class EntityAuditEvent {
return
AtlasType
.
toV1Json
(
this
);
return
AtlasType
.
toV1Json
(
this
);
}
}
public
static
EntityAuditEvent
fromString
(
String
eventString
)
{
return
AtlasType
.
fromV1Json
(
eventString
,
EntityAuditEvent
.
class
);
}
public
String
getEntityId
()
{
public
String
getEntityId
()
{
return
entityId
;
return
entityId
;
}
}
...
@@ -134,6 +146,11 @@ public class EntityAuditEvent {
...
@@ -134,6 +146,11 @@ public class EntityAuditEvent {
return
entityDefinition
;
return
entityDefinition
;
}
}
public
void
setEntityDefinition
(
Referenceable
entityDefinition
)
{
this
.
entityDefinition
=
entityDefinition
;
}
@JsonIgnore
public
String
getEntityDefinitionString
()
{
public
String
getEntityDefinitionString
()
{
if
(
entityDefinition
!=
null
)
{
if
(
entityDefinition
!=
null
)
{
return
AtlasType
.
toV1Json
(
entityDefinition
);
return
AtlasType
.
toV1Json
(
entityDefinition
);
...
@@ -141,7 +158,13 @@ public class EntityAuditEvent {
...
@@ -141,7 +158,13 @@ public class EntityAuditEvent {
return
null
;
return
null
;
}
}
@JsonIgnore
public
void
setEntityDefinition
(
String
entityDefinition
)
{
public
void
setEntityDefinition
(
String
entityDefinition
)
{
this
.
entityDefinition
=
AtlasType
.
fromV1Json
(
entityDefinition
,
Referenceable
.
class
);
this
.
entityDefinition
=
AtlasType
.
fromV1Json
(
entityDefinition
,
Referenceable
.
class
);
}
}
@JsonIgnore
public
static
EntityAuditEvent
fromString
(
String
eventString
)
{
return
AtlasType
.
fromV1Json
(
eventString
,
EntityAuditEvent
.
class
);
}
}
}
intg/src/main/java/org/apache/atlas/type/AtlasType.java
View file @
2b43fd00
...
@@ -25,6 +25,7 @@ import org.apache.atlas.model.notification.EntityNotification.EntityNotification
...
@@ -25,6 +25,7 @@ import org.apache.atlas.model.notification.EntityNotification.EntityNotification
import
org.apache.atlas.model.notification.HookNotification
;
import
org.apache.atlas.model.notification.HookNotification
;
import
org.apache.atlas.model.notification.HookNotification.HookNotificationType
;
import
org.apache.atlas.model.notification.HookNotification.HookNotificationType
;
import
org.apache.atlas.model.typedef.AtlasBaseTypeDef
;
import
org.apache.atlas.model.typedef.AtlasBaseTypeDef
;
import
org.apache.atlas.v1.model.instance.Struct
;
import
org.apache.atlas.v1.model.notification.EntityNotificationV1
;
import
org.apache.atlas.v1.model.notification.EntityNotificationV1
;
import
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest
;
import
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest
;
import
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityDeleteRequest
;
import
org.apache.atlas.v1.model.notification.HookNotificationV1.EntityDeleteRequest
;
...
@@ -175,6 +176,10 @@ public abstract class AtlasType {
...
@@ -175,6 +176,10 @@ public abstract class AtlasType {
T
ret
;
T
ret
;
try
{
try
{
ret
=
mapperV1
.
readValue
(
jsonStr
,
type
);
ret
=
mapperV1
.
readValue
(
jsonStr
,
type
);
if
(
ret
instanceof
Struct
)
{
((
Struct
)
ret
).
normalize
();
}
}
catch
(
IOException
e
){
}
catch
(
IOException
e
){
LOG
.
error
(
"AtlasType.fromV1Json()"
,
e
);
LOG
.
error
(
"AtlasType.fromV1Json()"
,
e
);
...
...
intg/src/main/java/org/apache/atlas/v1/model/instance/Referenceable.java
View file @
2b43fd00
...
@@ -106,6 +106,10 @@ public class Referenceable extends Struct implements Serializable {
...
@@ -106,6 +106,10 @@ public class Referenceable extends Struct implements Serializable {
this
(
new
Id
(
guid
,
0
,
typeName
),
typeName
,
values
,
systemAttributes
,
null
,
null
);
this
(
new
Id
(
guid
,
0
,
typeName
),
typeName
,
values
,
systemAttributes
,
null
,
null
);
}
}
public
Referenceable
(
String
guid
,
String
typeName
,
String
state
,
Map
<
String
,
Object
>
values
,
AtlasSystemAttributes
systemAttributes
)
{
this
(
new
Id
(
guid
,
0
,
typeName
,
state
),
typeName
,
values
,
systemAttributes
,
null
,
null
);
}
public
Referenceable
(
String
guid
,
String
typeName
,
Map
<
String
,
Object
>
values
,
AtlasSystemAttributes
systemAttributes
,
List
<
String
>
traitNames
,
Map
<
String
,
Struct
>
traits
)
{
public
Referenceable
(
String
guid
,
String
typeName
,
Map
<
String
,
Object
>
values
,
AtlasSystemAttributes
systemAttributes
,
List
<
String
>
traitNames
,
Map
<
String
,
Struct
>
traits
)
{
this
(
new
Id
(
guid
,
0
,
typeName
),
typeName
,
values
,
systemAttributes
,
traitNames
,
traits
);
this
(
new
Id
(
guid
,
0
,
typeName
),
typeName
,
values
,
systemAttributes
,
traitNames
,
traits
);
}
}
...
...
intg/src/main/java/org/apache/atlas/v1/model/instance/Struct.java
View file @
2b43fd00
...
@@ -79,7 +79,7 @@ public class Struct implements Serializable {
...
@@ -79,7 +79,7 @@ public class Struct implements Serializable {
this
.
typeName
=
Id
.
asString
(
map
.
get
(
"typeName"
));
this
.
typeName
=
Id
.
asString
(
map
.
get
(
"typeName"
));
this
.
values
=
Id
.
asMap
(
map
.
get
(
"values"
));
this
.
values
=
Id
.
asMap
(
map
.
get
(
"values"
));
this
.
norma
il
ze
();
this
.
norma
li
ze
();
}
}
}
}
...
@@ -130,7 +130,7 @@ public class Struct implements Serializable {
...
@@ -130,7 +130,7 @@ public class Struct implements Serializable {
}
}
}
}
public
void
norma
il
ze
()
{
public
void
norma
li
ze
()
{
if
(
MapUtils
.
isEmpty
(
values
))
{
if
(
MapUtils
.
isEmpty
(
values
))
{
return
;
return
;
}
}
...
...
intg/src/main/java/org/apache/atlas/v1/model/notification/EntityNotificationV1.java
View file @
2b43fd00
...
@@ -134,13 +134,13 @@ public class EntityNotificationV1 extends EntityNotification implements Serializ
...
@@ -134,13 +134,13 @@ public class EntityNotificationV1 extends EntityNotification implements Serializ
super
.
normalize
();
super
.
normalize
();
if
(
entity
!=
null
)
{
if
(
entity
!=
null
)
{
entity
.
norma
il
ze
();
entity
.
norma
li
ze
();
}
}
if
(
traits
!=
null
)
{
if
(
traits
!=
null
)
{
for
(
Struct
trait
:
traits
)
{
for
(
Struct
trait
:
traits
)
{
if
(
trait
!=
null
)
{
if
(
trait
!=
null
)
{
trait
.
norma
il
ze
();
trait
.
norma
li
ze
();
}
}
}
}
}
}
...
...
intg/src/main/java/org/apache/atlas/v1/model/notification/HookNotificationV1.java
View file @
2b43fd00
...
@@ -132,7 +132,7 @@ public class HookNotificationV1 {
...
@@ -132,7 +132,7 @@ public class HookNotificationV1 {
if
(
entities
!=
null
)
{
if
(
entities
!=
null
)
{
for
(
Referenceable
entity
:
entities
)
{
for
(
Referenceable
entity
:
entities
)
{
if
(
entity
!=
null
)
{
if
(
entity
!=
null
)
{
entity
.
norma
il
ze
();
entity
.
norma
li
ze
();
}
}
}
}
}
}
...
@@ -259,7 +259,7 @@ public class HookNotificationV1 {
...
@@ -259,7 +259,7 @@ public class HookNotificationV1 {
super
.
normalize
();
super
.
normalize
();
if
(
entity
!=
null
)
{
if
(
entity
!=
null
)
{
entity
.
norma
il
ze
();
entity
.
norma
li
ze
();
}
}
}
}
...
...
repository/src/main/java/org/apache/atlas/repository/converters/AtlasEntityFormatConverter.java
View file @
2b43fd00
...
@@ -125,8 +125,13 @@ public class AtlasEntityFormatConverter extends AtlasStructFormatConverter {
...
@@ -125,8 +125,13 @@ public class AtlasEntityFormatConverter extends AtlasStructFormatConverter {
}
}
}
else
if
(
v2Obj
instanceof
AtlasEntity
)
{
}
else
if
(
v2Obj
instanceof
AtlasEntity
)
{
AtlasEntity
entity
=
(
AtlasEntity
)
v2Obj
;
AtlasEntity
entity
=
(
AtlasEntity
)
v2Obj
;
Status
status
=
entity
.
getStatus
();
Referenceable
referenceable
=
new
Referenceable
(
entity
.
getGuid
(),
entity
.
getTypeName
(),
if
(
status
==
null
)
{
status
=
Status
.
ACTIVE
;
}
Referenceable
referenceable
=
new
Referenceable
(
entity
.
getGuid
(),
entity
.
getTypeName
(),
status
.
name
(),
fromV2ToV1
(
entityType
,
entity
.
getAttributes
(),
context
),
fromV2ToV1
(
entityType
,
entity
.
getAttributes
(),
context
),
new
AtlasSystemAttributes
(
entity
.
getCreatedBy
(),
entity
.
getUpdatedBy
(),
entity
.
getCreateTime
(),
entity
.
getUpdateTime
()));
new
AtlasSystemAttributes
(
entity
.
getCreatedBy
(),
entity
.
getUpdatedBy
(),
entity
.
getCreateTime
(),
entity
.
getUpdateTime
()));
...
...
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
View file @
2b43fd00
...
@@ -82,7 +82,7 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore {
...
@@ -82,7 +82,7 @@ public class AtlasEntityStoreV1 implements AtlasEntityStore {
LOG
.
debug
(
"==> getEntityGUIDS({})"
,
typename
);
LOG
.
debug
(
"==> getEntityGUIDS({})"
,
typename
);
}
}
if
(
StringUtils
.
isEmpty
(
typename
))
{
if
(
StringUtils
.
isEmpty
(
typename
)
||
!
typeRegistry
.
isRegisteredType
(
typename
)
)
{
throw
new
AtlasBaseException
(
AtlasErrorCode
.
UNKNOWN_TYPENAME
);
throw
new
AtlasBaseException
(
AtlasErrorCode
.
UNKNOWN_TYPENAME
);
}
}
...
...
webapp/src/main/java/org/apache/atlas/web/resources/EntityResource.java
View file @
2b43fd00
...
@@ -699,6 +699,9 @@ public class EntityResource {
...
@@ -699,6 +699,9 @@ public class EntityResource {
}
catch
(
WebApplicationException
e
)
{
}
catch
(
WebApplicationException
e
)
{
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
throw
e
;
throw
e
;
}
catch
(
AtlasBaseException
e
)
{
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
throw
new
WebApplicationException
(
Servlets
.
getErrorResponse
(
e
,
Response
.
Status
.
BAD_REQUEST
));
}
catch
(
Throwable
e
)
{
}
catch
(
Throwable
e
)
{
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
LOG
.
error
(
"Unable to get entity list for type {}"
,
entityType
,
e
);
throw
new
WebApplicationException
(
Servlets
.
getErrorResponse
(
e
,
Response
.
Status
.
INTERNAL_SERVER_ERROR
));
throw
new
WebApplicationException
(
Servlets
.
getErrorResponse
(
e
,
Response
.
Status
.
INTERNAL_SERVER_ERROR
));
...
@@ -1151,7 +1154,7 @@ public class EntityResource {
...
@@ -1151,7 +1154,7 @@ public class EntityResource {
private
<
T
>
JSONArray
getJSONArray
(
Collection
<
T
>
elements
)
throws
JSONException
{
private
<
T
>
JSONArray
getJSONArray
(
Collection
<
T
>
elements
)
throws
JSONException
{
JSONArray
jsonArray
=
new
JSONArray
();
JSONArray
jsonArray
=
new
JSONArray
();
for
(
T
element
:
elements
)
{
for
(
T
element
:
elements
)
{
jsonArray
.
put
(
new
JSONObject
(
element
.
toString
(
)));
jsonArray
.
put
(
new
JSONObject
(
AtlasType
.
toV1Json
(
element
)));
}
}
return
jsonArray
;
return
jsonArray
;
}
}
...
...
webapp/src/test/java/org/apache/atlas/web/integration/DataSetLineageJerseyResourceIT.java
View file @
2b43fd00
...
@@ -63,7 +63,9 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
...
@@ -63,7 +63,9 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
@Test
public
void
testInputsGraph
()
throws
Exception
{
public
void
testInputsGraph
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
NAME_LINEAGE_INPUTS_GRAPH
,
null
,
salesMonthlyTable
,
"inputs"
,
"graph"
);
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesMonthlyTable
).
getId
().
_getId
();
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
LINEAGE_INPUTS_GRAPH
,
null
,
tableId
,
"/inputs/graph"
);
Assert
.
assertNotNull
(
response
);
Assert
.
assertNotNull
(
response
);
System
.
out
.
println
(
"inputs graph = "
+
response
);
System
.
out
.
println
(
"inputs graph = "
+
response
);
...
@@ -88,9 +90,20 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
...
@@ -88,9 +90,20 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
Assert
.
assertNotNull
(
results
);
Assert
.
assertNotNull
(
results
);
Struct
resultsInstance
=
AtlasType
.
fromV1Json
(
results
.
toString
(),
Struct
.
class
);
Struct
resultsInstance
=
AtlasType
.
fromV1Json
(
results
.
toString
(),
Struct
.
class
);
Map
<
String
,
Struct
>
vertices
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"vertices"
);
resultsInstance
.
normalize
();
Map
<
String
,
Object
>
vertices
=
(
Map
<
String
,
Object
>)
resultsInstance
.
get
(
"vertices"
);
Assert
.
assertEquals
(
vertices
.
size
(),
4
);
Assert
.
assertEquals
(
vertices
.
size
(),
4
);
Struct
vertex
=
vertices
.
get
(
tableId
);
Object
verticesObject
=
vertices
.
get
(
tableId
);
Struct
vertex
=
null
;
if
(
verticesObject
instanceof
Map
)
{
vertex
=
new
Struct
((
Map
)
verticesObject
);
}
else
if
(
verticesObject
instanceof
Struct
)
{
vertex
=
(
Struct
)
verticesObject
;
}
assertEquals
(((
Struct
)
vertex
.
get
(
"vertexId"
)).
get
(
"state"
),
Id
.
EntityState
.
ACTIVE
.
name
());
assertEquals
(((
Struct
)
vertex
.
get
(
"vertexId"
)).
get
(
"state"
),
Id
.
EntityState
.
ACTIVE
.
name
());
Map
<
String
,
Struct
>
edges
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"edges"
);
Map
<
String
,
Struct
>
edges
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"edges"
);
...
@@ -99,7 +112,9 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
...
@@ -99,7 +112,9 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
@Test
public
void
testOutputsGraph
()
throws
Exception
{
public
void
testOutputsGraph
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
NAME_LINEAGE_OUTPUTS_GRAPH
,
null
,
salesFactTable
,
"outputs"
,
"graph"
);
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
LINEAGE_INPUTS_GRAPH
,
null
,
tableId
,
"/outputs/graph"
);
Assert
.
assertNotNull
(
response
);
Assert
.
assertNotNull
(
response
);
System
.
out
.
println
(
"outputs graph= "
+
response
);
System
.
out
.
println
(
"outputs graph= "
+
response
);
...
@@ -118,15 +133,23 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
...
@@ -118,15 +133,23 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
@Test
public
void
testOutputsGraphForEntity
()
throws
Exception
{
public
void
testOutputsGraphForEntity
()
throws
Exception
{
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
salesFactTable
).
getId
().
_getId
();
JSONObject
results
=
atlasClientV1
.
getOutputGraphForEntity
(
tableId
);
JSONObject
results
=
atlasClientV1
.
getOutputGraphForEntity
(
tableId
);
Assert
.
assertNotNull
(
results
);
Assert
.
assertNotNull
(
results
);
Struct
resultsInstance
=
AtlasType
.
fromV1Json
(
results
.
toString
(),
Struct
.
class
);
Struct
resultsInstance
=
AtlasType
.
fromV1Json
(
results
.
toString
(),
Struct
.
class
);
Map
<
String
,
Struct
>
vertices
=
(
Map
<
String
,
Stru
ct
>)
resultsInstance
.
get
(
"vertices"
);
Map
<
String
,
Object
>
vertices
=
(
Map
<
String
,
Obje
ct
>)
resultsInstance
.
get
(
"vertices"
);
Assert
.
assertEquals
(
vertices
.
size
(),
3
);
Assert
.
assertEquals
(
vertices
.
size
(),
3
);
Struct
vertex
=
vertices
.
get
(
tableId
);
Object
verticesObject
=
vertices
.
get
(
tableId
);
Struct
vertex
=
null
;
if
(
verticesObject
instanceof
Map
)
{
vertex
=
new
Struct
((
Map
)
verticesObject
);
}
else
if
(
verticesObject
instanceof
Struct
)
{
vertex
=
(
Struct
)
verticesObject
;
}
assertEquals
(((
Struct
)
vertex
.
get
(
"vertexId"
)).
get
(
"state"
),
Id
.
EntityState
.
ACTIVE
.
name
());
assertEquals
(((
Struct
)
vertex
.
get
(
"vertexId"
)).
get
(
"state"
),
Id
.
EntityState
.
ACTIVE
.
name
());
Map
<
String
,
Struct
>
edges
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"edges"
);
Map
<
String
,
Struct
>
edges
=
(
Map
<
String
,
Struct
>)
resultsInstance
.
get
(
"edges"
);
...
@@ -135,44 +158,14 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
...
@@ -135,44 +158,14 @@ public class DataSetLineageJerseyResourceIT extends BaseResourceIT {
@Test
@Test
public
void
testSchema
()
throws
Exception
{
public
void
testSchema
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
callAPIWithBodyAndParams
(
AtlasClient
.
API_V1
.
NAME_LINEAGE_SCHEMA
,
null
,
salesFactTable
,
"schema"
);
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
response
=
atlasClientV1
.
getSchemaForEntity
(
tableId
);
Assert
.
assertNotNull
(
response
);
System
.
out
.
println
(
"schema = "
+
response
);
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
JSONObject
results
=
response
.
getJSONObject
(
AtlasClient
.
RESULTS
);
Assert
.
assertNotNull
(
results
);
JSONArray
rows
=
results
.
getJSONArray
(
"rows"
);
Assert
.
assertEquals
(
rows
.
length
(),
4
);
for
(
int
index
=
0
;
index
<
rows
.
length
();
index
++)
{
final
JSONObject
row
=
rows
.
getJSONObject
(
index
);
LOG
.
info
(
"JsonRow - {}"
,
row
);
Assert
.
assertNotNull
(
row
.
getString
(
"name"
));
Assert
.
assertNotNull
(
row
.
getString
(
"comment"
));
Assert
.
assertEquals
(
row
.
getString
(
"$typeName$"
),
"hive_column_v1"
);
}
}
}
@Test
@Test
public
void
testSchemaForEntity
()
throws
Exception
{
public
void
testSchemaForEntity
()
throws
Exception
{
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
String
tableId
=
atlasClientV1
.
getEntity
(
HIVE_TABLE_TYPE
,
AtlasClient
.
REFERENCEABLE_ATTRIBUTE_NAME
,
salesFactTable
).
getId
().
_getId
();
JSONObject
results
=
atlasClientV1
.
getSchemaForEntity
(
tableId
);
JSONObject
results
=
atlasClientV1
.
getSchemaForEntity
(
tableId
);
Assert
.
assertNotNull
(
results
);
JSONArray
rows
=
results
.
getJSONArray
(
"rows"
);
Assert
.
assertEquals
(
rows
.
length
(),
4
);
for
(
int
index
=
0
;
index
<
rows
.
length
();
index
++)
{
final
JSONObject
row
=
rows
.
getJSONObject
(
index
);
LOG
.
info
(
"JsonRow - {}"
,
row
);
Assert
.
assertNotNull
(
row
.
getString
(
"name"
));
Assert
.
assertNotNull
(
row
.
getString
(
"comment"
));
Assert
.
assertEquals
(
row
.
getString
(
"$typeName$"
),
"hive_column_v1"
);
}
}
}
@Test
(
expectedExceptions
=
AtlasServiceException
.
class
)
@Test
(
expectedExceptions
=
AtlasServiceException
.
class
)
...
...
webapp/src/test/java/org/apache/atlas/web/integration/EntityDiscoveryJerseyResourceIT.java
View file @
2b43fd00
...
@@ -53,7 +53,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -53,7 +53,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
createInstance
(
createHiveDBInstanceBuiltIn
(
dbName
));
createInstance
(
createHiveDBInstanceBuiltIn
(
dbName
));
}
}
@Test
@Test
(
enabled
=
false
)
public
void
testSearchByDSL
()
throws
Exception
{
public
void
testSearchByDSL
()
throws
Exception
{
String
dslQuery
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
String
dslQuery
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
...
@@ -75,7 +75,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -75,7 +75,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
assertNull
(
searchResult
.
getFullTextResult
());
assertNull
(
searchResult
.
getFullTextResult
());
}
}
@Test
@Test
(
enabled
=
false
)
public
void
testSearchDSLLimits
()
throws
Exception
{
public
void
testSearchDSLLimits
()
throws
Exception
{
String
dslQuery
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
String
dslQuery
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
AtlasSearchResult
searchResult
=
atlasClientV2
.
dslSearch
(
dslQuery
);
AtlasSearchResult
searchResult
=
atlasClientV2
.
dslSearch
(
dslQuery
);
...
@@ -116,7 +116,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -116,7 +116,7 @@ public class EntityDiscoveryJerseyResourceIT extends BaseResourceIT {
atlasClientV2
.
dslSearch
(
dslQuery
);
atlasClientV2
.
dslSearch
(
dslQuery
);
}
}
@Test
@Test
(
enabled
=
false
)
public
void
testSearchUsingDSL
()
throws
Exception
{
public
void
testSearchUsingDSL
()
throws
Exception
{
String
query
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
String
query
=
"from "
+
DATABASE_TYPE_BUILTIN
+
" "
+
QUALIFIED_NAME
+
"=\""
+
dbName
+
"\""
;
AtlasSearchResult
searchResult
=
atlasClientV2
.
dslSearch
(
query
);
AtlasSearchResult
searchResult
=
atlasClientV2
.
dslSearch
(
query
);
...
...
webapp/src/test/java/org/apache/atlas/web/integration/EntityJerseyResourceIT.java
View file @
2b43fd00
This diff is collapsed.
Click to expand it.
webapp/src/test/java/org/apache/atlas/web/integration/MetadataDiscoveryJerseyResourceIT.java
View file @
2b43fd00
...
@@ -58,7 +58,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -58,7 +58,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
createInstance
(
createHiveDBInstanceV1
(
dbName
)
);
createInstance
(
createHiveDBInstanceV1
(
dbName
)
);
}
}
@Test
// Disabling DSL tests
@Test
(
enabled
=
false
)
public
void
testSearchByDSL
()
throws
Exception
{
public
void
testSearchByDSL
()
throws
Exception
{
String
dslQuery
=
"from "
+
DATABASE_TYPE
+
" name=\""
+
dbName
+
"\""
;
String
dslQuery
=
"from "
+
DATABASE_TYPE
+
" name=\""
+
dbName
+
"\""
;
MultivaluedMap
<
String
,
String
>
queryParams
=
new
MultivaluedMapImpl
();
MultivaluedMap
<
String
,
String
>
queryParams
=
new
MultivaluedMapImpl
();
...
@@ -79,7 +80,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -79,7 +80,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
numRows
,
1
);
assertEquals
(
numRows
,
1
);
}
}
@Test
// Disabling DSL tests, will be enabled when new implementation is ready
@Test
(
enabled
=
false
)
public
void
testSearchDSLLimits
()
throws
Exception
{
public
void
testSearchDSLLimits
()
throws
Exception
{
//search without new parameters of limit and offset should work
//search without new parameters of limit and offset should work
...
@@ -153,7 +155,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -153,7 +155,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
response
.
getString
(
"queryType"
),
"gremlin"
);
assertEquals
(
response
.
getString
(
"queryType"
),
"gremlin"
);
}
}
@Test
// Disabling DSL tests
@Test
(
enabled
=
false
)
public
void
testSearchUsingDSL
()
throws
Exception
{
public
void
testSearchUsingDSL
()
throws
Exception
{
//String query = "from dsl_test_type";
//String query = "from dsl_test_type";
String
query
=
"from "
+
DATABASE_TYPE
+
" name=\""
+
dbName
+
"\""
;
String
query
=
"from "
+
DATABASE_TYPE
+
" name=\""
+
dbName
+
"\""
;
...
@@ -168,7 +171,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -168,7 +171,8 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
response
.
getString
(
"queryType"
),
"dsl"
);
assertEquals
(
response
.
getString
(
"queryType"
),
"dsl"
);
}
}
@Test
// Disabling DSL tests
@Test
(
enabled
=
false
)
public
void
testSearchFullTextOnDSLFailure
()
throws
Exception
{
public
void
testSearchFullTextOnDSLFailure
()
throws
Exception
{
String
query
=
"*"
;
String
query
=
"*"
;
MultivaluedMap
<
String
,
String
>
queryParams
=
new
MultivaluedMapImpl
();
MultivaluedMap
<
String
,
String
>
queryParams
=
new
MultivaluedMapImpl
();
...
@@ -182,7 +186,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
...
@@ -182,7 +186,7 @@ public class MetadataDiscoveryJerseyResourceIT extends BaseResourceIT {
assertEquals
(
response
.
getString
(
"queryType"
),
"full-text"
);
assertEquals
(
response
.
getString
(
"queryType"
),
"full-text"
);
}
}
@Test
(
dependsOnMethods
=
"testSearchDSLLimits"
)
@Test
(
enabled
=
false
,
dependsOnMethods
=
"testSearchDSLLimits"
)
public
void
testSearchUsingFullText
()
throws
Exception
{
public
void
testSearchUsingFullText
()
throws
Exception
{
JSONObject
response
=
atlasClientV1
.
searchByFullText
(
dbName
,
10
,
0
);
JSONObject
response
=
atlasClientV1
.
searchByFullText
(
dbName
,
10
,
0
);
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
...
...
webapp/src/test/java/org/apache/atlas/web/integration/TypesJerseyResourceIT.java
View file @
2b43fd00
...
@@ -67,7 +67,18 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
...
@@ -67,7 +67,18 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
try
{
try
{
atlasClientV1
.
getType
(
typeDefinition
.
getTypeName
());
atlasClientV1
.
getType
(
typeDefinition
.
getTypeName
());
}
catch
(
AtlasServiceException
ase
){
}
catch
(
AtlasServiceException
ase
){
String
typesAsJSON
=
AtlasType
.
toV1Json
(
typeDefinition
);
TypesDef
typesDef
=
null
;
if
(
typeDefinition
instanceof
ClassTypeDefinition
)
{
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
((
ClassTypeDefinition
)
typeDefinition
));
}
else
if
(
typeDefinition
instanceof
TraitTypeDefinition
)
{
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
((
TraitTypeDefinition
)
typeDefinition
),
Collections
.
emptyList
());
}
String
typesAsJSON
=
AtlasType
.
toV1Json
(
typesDef
);
System
.
out
.
println
(
"typesAsJSON = "
+
typesAsJSON
);
System
.
out
.
println
(
"typesAsJSON = "
+
typesAsJSON
);
JSONObject
response
=
atlasClientV1
.
callAPIWithBody
(
AtlasClient
.
API_V1
.
CREATE_TYPE
,
typesAsJSON
);
JSONObject
response
=
atlasClientV1
.
callAPIWithBody
(
AtlasClient
.
API_V1
.
CREATE_TYPE
,
typesAsJSON
);
...
@@ -100,24 +111,27 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
...
@@ -100,24 +111,27 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
@Test
@Test
public
void
testUpdate
()
throws
Exception
{
public
void
testUpdate
()
throws
Exception
{
ClassTypeDefinition
typeDefinition
=
TypesUtil
ClassTypeDefinition
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
randomString
(),
null
,
"1.0"
,
Collections
.<
String
>
emptySet
(),
.
createClassTypeDef
(
randomString
(),
null
,
"1.0"
,
Collections
.<
String
>
emptySet
(),
TypesUtil
.
createUniqueRequiredAttrDef
(
NAME
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
));
TypesUtil
.
createUniqueRequiredAttrDef
(
NAME
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
));
List
<
String
>
typesCreated
=
atlasClientV1
.
createType
(
AtlasType
.
toV1Json
(
typeDefinition
));
TypesDef
typesDef
=
new
TypesDef
(
Collections
.<
EnumTypeDefinition
>
emptyList
(),
Collections
.<
StructTypeDefinition
>
emptyList
(),
Collections
.<
TraitTypeDefinition
>
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
List
<
String
>
typesCreated
=
atlasClientV1
.
createType
(
AtlasType
.
toV1Json
(
typesDef
));
assertEquals
(
typesCreated
.
size
(),
1
);
assertEquals
(
typesCreated
.
size
(),
1
);
assertEquals
(
typesCreated
.
get
(
0
),
typeDefinition
.
getTypeName
());
assertEquals
(
typesCreated
.
get
(
0
),
classTypeDef
.
getTypeName
());
//Add attribute description
//Add attribute description
typeDefinition
=
TypesUtil
.
createClassTypeDef
(
typeDefinition
.
getTypeName
(),
null
,
"2.0"
,
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
classTypeDef
.
getTypeName
(),
null
,
"2.0"
,
Collections
.<
String
>
emptySet
(),
Collections
.<
String
>
emptySet
(),
TypesUtil
.
createUniqueRequiredAttrDef
(
NAME
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
),
TypesUtil
.
createUniqueRequiredAttrDef
(
NAME
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
),
createOptionalAttrDef
(
DESCRIPTION
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
));
createOptionalAttrDef
(
DESCRIPTION
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
));
TypesDef
typeDef
=
new
TypesDef
(
Collections
.<
EnumTypeDefinition
>
emptyList
(),
Collections
.<
StructTypeDefinition
>
emptyList
(),
Collections
.<
TraitTypeDefinition
>
emptyList
(),
Collections
.
singletonList
(
typeDefinition
));
TypesDef
typeDef
=
new
TypesDef
(
Collections
.<
EnumTypeDefinition
>
emptyList
(),
Collections
.<
StructTypeDefinition
>
emptyList
(),
Collections
.<
TraitTypeDefinition
>
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
List
<
String
>
typesUpdated
=
atlasClientV1
.
updateType
(
typeDef
);
List
<
String
>
typesUpdated
=
atlasClientV1
.
updateType
(
typeDef
);
assertEquals
(
typesUpdated
.
size
(),
1
);
assertEquals
(
typesUpdated
.
size
(),
1
);
Assert
.
assertTrue
(
typesUpdated
.
contains
(
typeDefinition
.
getTypeName
()));
Assert
.
assertTrue
(
typesUpdated
.
contains
(
classTypeDef
.
getTypeName
()));
TypesDef
updatedTypeDef
=
atlasClientV1
.
getType
(
typeDefinition
.
getTypeName
());
TypesDef
updatedTypeDef
=
atlasClientV1
.
getType
(
classTypeDef
.
getTypeName
());
assertNotNull
(
updatedTypeDef
);
assertNotNull
(
updatedTypeDef
);
ClassTypeDefinition
updatedType
=
updatedTypeDef
.
getClassTypes
().
get
(
0
);
ClassTypeDefinition
updatedType
=
updatedTypeDef
.
getClassTypes
().
get
(
0
);
...
@@ -135,11 +149,18 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
...
@@ -135,11 +149,18 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
DEFINITION
));
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
DEFINITION
));
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
Assert
.
assertNotNull
(
response
.
get
(
AtlasClient
.
REQUEST_ID
));
String
typesJson
=
response
.
getString
(
AtlasClient
.
DEFINITION
);
TypesDef
typesDef
=
AtlasType
.
fromV1Json
(
response
.
getString
(
AtlasClient
.
DEFINITION
),
TypesDef
.
class
);
final
TypesDef
typesDef
=
AtlasType
.
fromV1Json
(
typesJson
,
TypesDef
.
class
);
List
<
ClassTypeDefinition
>
hierarchicalTypeDefinitions
=
typesDef
.
getClassTypes
();
List
<?
extends
HierarchicalTypeDefinition
>
hierarchicalTypeDefs
=
Collections
.
emptyList
();
for
(
ClassTypeDefinition
classType
:
hierarchicalTypeDefinitions
)
{
for
(
AttributeDefinition
attrDef
:
classType
.
getAttributeDefinitions
())
{
if
(
typeDefinition
instanceof
ClassTypeDefinition
)
{
hierarchicalTypeDefs
=
typesDef
.
getClassTypes
();
}
else
if
(
typeDefinition
instanceof
TraitTypeDefinition
)
{
hierarchicalTypeDefs
=
typesDef
.
getTraitTypes
();
}
for
(
HierarchicalTypeDefinition
hierarchicalTypes
:
hierarchicalTypeDefs
)
{
for
(
AttributeDefinition
attrDef
:
hierarchicalTypes
.
getAttributeDefinitions
())
{
if
(
NAME
.
equals
(
attrDef
.
getName
()))
{
if
(
NAME
.
equals
(
attrDef
.
getName
()))
{
assertEquals
(
attrDef
.
getIsIndexable
(),
true
);
assertEquals
(
attrDef
.
getIsIndexable
(),
true
);
assertEquals
(
attrDef
.
getIsUnique
(),
true
);
assertEquals
(
attrDef
.
getIsUnique
(),
true
);
...
@@ -190,14 +211,22 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
...
@@ -190,14 +211,22 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
@Test
@Test
public
void
testListTypesByFilter
()
throws
Exception
{
public
void
testListTypesByFilter
()
throws
Exception
{
AttributeDefinition
attr
=
TypesUtil
.
createOptionalAttrDef
(
"attr"
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
);
AttributeDefinition
attr
=
TypesUtil
.
createOptionalAttrDef
(
"attr"
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
);
String
a
=
createType
(
AtlasType
.
toV1Json
(
TypesUtil
.
createClassTypeDef
(
"A"
+
randomString
(),
null
,
Collections
.<
String
>
emptySet
(),
attr
))).
get
(
0
);
ClassTypeDefinition
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"A"
+
randomString
(),
null
,
Collections
.
emptySet
(),
attr
);
String
a1
=
createType
(
AtlasType
.
toV1Json
(
TypesDef
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
TypesUtil
.
createClassTypeDef
(
"A1"
+
randomString
(),
null
,
Collections
.
singleton
(
a
),
attr
))).
get
(
0
);
String
a
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
String
b
=
createType
(
AtlasType
.
toV1Json
(
TypesUtil
.
createClassTypeDef
(
"B"
+
randomString
(),
null
,
Collections
.<
String
>
emptySet
(),
attr
))).
get
(
0
);
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"A1"
+
randomString
(),
null
,
Collections
.
singleton
(
a
),
attr
);
String
c
=
createType
(
AtlasType
.
toV1Json
(
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
TypesUtil
.
createClassTypeDef
(
"C"
+
randomString
(),
null
,
new
HashSet
<>(
Arrays
.
asList
(
a
,
b
)),
attr
))).
get
(
0
);
String
a1
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"B"
+
randomString
(),
null
,
Collections
.<
String
>
emptySet
(),
attr
);
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
String
b
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
classTypeDef
=
TypesUtil
.
createClassTypeDef
(
"C"
+
randomString
(),
null
,
new
HashSet
<>(
Arrays
.
asList
(
a
,
b
)),
attr
);
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
classTypeDef
));
String
c
=
createType
(
AtlasType
.
toV1Json
(
typesDef
)).
get
(
0
);
List
<
String
>
results
=
atlasClientV1
.
listTypes
(
DataTypes
.
TypeCategory
.
CLASS
,
a
,
b
);
List
<
String
>
results
=
atlasClientV1
.
listTypes
(
DataTypes
.
TypeCategory
.
CLASS
,
a
,
b
);
assertEquals
(
results
,
Arrays
.
asList
(
a1
),
"Results: "
+
results
);
assertEquals
(
results
,
Arrays
.
asList
(
a1
),
"Results: "
+
results
);
...
@@ -209,7 +238,9 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
...
@@ -209,7 +238,9 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
for
(
String
traitName
:
traitNames
)
{
for
(
String
traitName
:
traitNames
)
{
TraitTypeDefinition
traitTypeDef
=
TraitTypeDefinition
traitTypeDef
=
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
Collections
.<
String
>
emptySet
());
TypesUtil
.
createTraitTypeDef
(
traitName
,
null
,
Collections
.<
String
>
emptySet
());
String
json
=
AtlasType
.
toV1Json
(
traitTypeDef
);
TypesDef
typesDef
=
new
TypesDef
(
Collections
.
emptyList
(),
Collections
.
emptyList
(),
Collections
.
singletonList
(
traitTypeDef
),
Collections
.
emptyList
());
String
json
=
AtlasType
.
toV1Json
(
typesDef
);
createType
(
json
);
createType
(
json
);
}
}
...
@@ -236,7 +267,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
...
@@ -236,7 +267,7 @@ public class TypesJerseyResourceIT extends BaseResourceIT {
createOptionalAttrDef
(
"parameters"
,
createOptionalAttrDef
(
"parameters"
,
AtlasBaseTypeDef
.
getMapTypeName
(
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
)),
AtlasBaseTypeDef
.
getMapTypeName
(
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
)),
TypesUtil
.
createRequiredAttrDef
(
"type"
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
),
TypesUtil
.
createRequiredAttrDef
(
"type"
,
AtlasBaseTypeDef
.
ATLAS_TYPE_STRING
),
new
AttributeDefinition
(
"database"
,
"database"
,
Multiplicity
.
REQUIRED
,
false
,
"database"
));
new
AttributeDefinition
(
"database"
,
"database"
,
Multiplicity
.
REQUIRED
,
false
,
null
));
typeDefinitions
.
add
(
tableTypeDefinition
);
typeDefinitions
.
add
(
tableTypeDefinition
);
TraitTypeDefinition
fetlTypeDefinition
=
TypesUtil
TraitTypeDefinition
fetlTypeDefinition
=
TypesUtil
...
...
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