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
0c746895
Commit
0c746895
authored
Nov 01, 2016
by
Suma Shivaprasad
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ATLAS-1241 New Instance APIs and POJOs (sumasai)
parent
9f643b5b
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1280 additions
and
1 deletion
+1280
-1
AtlasEntityHeader.java
...va/org/apache/atlas/model/instance/AtlasEntityHeader.java
+179
-0
AtlasEntityWithAssociations.java
...che/atlas/model/instance/AtlasEntityWithAssociations.java
+149
-0
EntityMutationResponse.java
...g/apache/atlas/model/instance/EntityMutationResponse.java
+136
-0
EntityMutations.java
...java/org/apache/atlas/model/instance/EntityMutations.java
+147
-0
AtlasTypeUtil.java
intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
+0
-0
TestUtilsV2.java
intg/src/test/java/org/apache/atlas/TestUtilsV2.java
+2
-1
pom.xml
pom.xml
+8
-0
release-log.txt
release-log.txt
+1
-0
RepositoryMetadataModule.java
.../main/java/org/apache/atlas/RepositoryMetadataModule.java
+4
-0
AtlasEntityStore.java
...apache/atlas/repository/store/graph/AtlasEntityStore.java
+179
-0
AtlasEntityStoreV1.java
...e/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
+122
-0
pom.xml
webapp/pom.xml
+8
-0
EntitiesREST.java
...src/main/java/org/apache/atlas/web/rest/EntitiesREST.java
+128
-0
EntityRest.java
...p/src/main/java/org/apache/atlas/web/rest/EntityRest.java
+217
-0
No files found.
intg/src/main/java/org/apache/atlas/model/instance/AtlasEntityHeader.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
model
.
instance
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
javax.xml.bind.annotation.XmlAccessType
;
import
javax.xml.bind.annotation.XmlAccessorType
;
import
javax.xml.bind.annotation.XmlRootElement
;
import
javax.xml.bind.annotation.XmlSeeAlso
;
import
org.apache.atlas.model.PList
;
import
org.apache.atlas.model.SearchFilter.SortType
;
import
org.apache.atlas.model.typedef.AtlasEntityDef
;
import
org.codehaus.jackson.annotate.JsonAutoDetect
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
PUBLIC_ONLY
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
NONE
;
import
org.codehaus.jackson.annotate.JsonIgnoreProperties
;
import
org.codehaus.jackson.map.annotate.JsonSerialize
;
/**
* An instance of an entity - like hive_table, hive_database.
*/
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
public
class
AtlasEntityHeader
extends
AtlasStruct
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
guid
=
null
;
private
AtlasEntity
.
Status
status
=
AtlasEntity
.
Status
.
STATUS_ACTIVE
;
private
String
displayText
=
null
;
public
AtlasEntityHeader
()
{
this
(
null
,
null
);
}
public
AtlasEntityHeader
(
String
typeName
)
{
this
(
typeName
,
null
);
}
public
AtlasEntityHeader
(
AtlasEntityDef
entityDef
)
{
this
(
entityDef
!=
null
?
entityDef
.
getName
()
:
null
,
null
);
}
public
AtlasEntityHeader
(
String
typeName
,
Map
<
String
,
Object
>
attributes
)
{
super
(
typeName
,
attributes
);
setGuid
(
null
);
setStatus
(
null
);
}
public
AtlasEntityHeader
(
AtlasEntityHeader
other
)
{
super
(
other
);
if
(
other
!=
null
)
{
setGuid
(
other
.
getGuid
());
setStatus
(
other
.
getStatus
());
}
}
public
String
getGuid
()
{
return
guid
;
}
public
void
setGuid
(
String
guid
)
{
this
.
guid
=
guid
;
}
public
AtlasEntity
.
Status
getStatus
()
{
return
status
;
}
public
void
setStatus
(
AtlasEntity
.
Status
status
)
{
this
.
status
=
status
;
}
public
String
getDisplayText
()
{
return
displayText
;
}
public
void
setDisplayText
(
final
String
displayText
)
{
this
.
displayText
=
displayText
;
}
@Override
public
StringBuilder
toString
(
StringBuilder
sb
)
{
if
(
sb
==
null
)
{
sb
=
new
StringBuilder
();
}
sb
.
append
(
"AtlasEntityHeader{"
);
sb
.
append
(
"guid='"
).
append
(
guid
).
append
(
'\''
);
sb
.
append
(
", status="
).
append
(
status
);
sb
.
append
(
", displayText="
).
append
(
displayText
);
sb
.
append
(
", "
);
super
.
toString
(
sb
);
sb
.
append
(
'}'
);
return
sb
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
{
return
true
;
}
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
{
return
false
;
}
if
(!
super
.
equals
(
o
))
{
return
false
;
}
AtlasEntityHeader
that
=
(
AtlasEntityHeader
)
o
;
if
(
guid
!=
null
?
!
guid
.
equals
(
that
.
guid
)
:
that
.
guid
!=
null
)
{
return
false
;
}
if
(
status
!=
null
?
!
status
.
equals
(
that
.
status
)
:
that
.
status
!=
null
)
{
return
false
;
}
if
(
displayText
!=
null
?
!
displayText
.
equals
(
that
.
displayText
)
:
that
.
displayText
!=
null
)
{
return
false
;
}
return
true
;
}
@Override
public
int
hashCode
()
{
int
result
=
super
.
hashCode
();
result
=
31
*
result
+
(
guid
!=
null
?
guid
.
hashCode
()
:
0
);
result
=
31
*
result
+
(
status
!=
null
?
status
.
hashCode
()
:
0
);
result
=
31
*
result
+
(
displayText
!=
null
?
displayText
.
hashCode
()
:
0
);
return
result
;
}
@Override
public
String
toString
()
{
return
toString
(
new
StringBuilder
()).
toString
();
}
/**
* REST serialization friendly list.
*/
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
@XmlSeeAlso
(
AtlasEntity
.
class
)
public
static
class
AtlasEntityHeaders
extends
PList
<
AtlasEntityHeader
>
{
private
static
final
long
serialVersionUID
=
1L
;
public
AtlasEntityHeaders
()
{
super
();
}
public
AtlasEntityHeaders
(
List
<
AtlasEntityHeader
>
list
)
{
super
(
list
);
}
public
AtlasEntityHeaders
(
List
list
,
long
startIndex
,
int
pageSize
,
long
totalCount
,
SortType
sortType
,
String
sortBy
)
{
super
(
list
,
startIndex
,
pageSize
,
totalCount
,
sortType
,
sortBy
);
}
}
}
intg/src/main/java/org/apache/atlas/model/instance/AtlasEntityWithAssociations.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
model
.
instance
;
import
org.apache.atlas.model.PList
;
import
org.apache.atlas.model.SearchFilter.SortType
;
import
org.apache.atlas.model.typedef.AtlasEntityDef
;
import
org.codehaus.jackson.annotate.JsonAutoDetect
;
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
javax.xml.bind.annotation.XmlSeeAlso
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
NONE
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
PUBLIC_ONLY
;
/**
* An instance of an entity - like hive_table, hive_database along with its assictaed classifications, terms etc.
*/
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
public
class
AtlasEntityWithAssociations
extends
AtlasEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
List
<
AtlasClassification
>
classifications
;
public
AtlasEntityWithAssociations
()
{
this
(
null
,
null
);
}
public
AtlasEntityWithAssociations
(
String
typeName
)
{
this
(
typeName
,
null
);
}
public
AtlasEntityWithAssociations
(
AtlasEntityDef
entityDef
)
{
this
(
entityDef
!=
null
?
entityDef
.
getName
()
:
null
,
null
);
}
public
AtlasEntityWithAssociations
(
String
typeName
,
Map
<
String
,
Object
>
attributes
)
{
super
(
typeName
,
attributes
);
setClassifications
(
null
);
}
public
AtlasEntityWithAssociations
(
AtlasEntityWithAssociations
other
)
{
super
(
other
);
setClassifications
(
other
!=
null
?
other
.
getClassifications
()
:
null
);
}
@Override
public
StringBuilder
toString
(
StringBuilder
sb
)
{
if
(
sb
==
null
)
{
sb
=
new
StringBuilder
();
}
sb
.
append
(
"AtlasEntityWithAssociations{"
);
sb
.
append
(
"classifications='"
).
append
(
classifications
).
append
(
'\''
);
sb
.
append
(
", "
);
super
.
toString
(
sb
);
sb
.
append
(
'}'
);
return
sb
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
{
return
true
;
}
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
{
return
false
;
}
if
(!
super
.
equals
(
o
))
{
return
false
;
}
AtlasEntityWithAssociations
that
=
(
AtlasEntityWithAssociations
)
o
;
if
(
classifications
!=
null
?
!
classifications
.
equals
(
that
.
classifications
)
:
that
.
classifications
!=
null
)
{
return
false
;
}
return
true
;
}
public
List
<
AtlasClassification
>
getClassifications
()
{
return
classifications
;
}
public
void
setClassifications
(
final
List
<
AtlasClassification
>
classifications
)
{
this
.
classifications
=
classifications
;
}
@Override
public
int
hashCode
()
{
int
result
=
super
.
hashCode
();
result
=
31
*
result
+
(
classifications
!=
null
?
classifications
.
hashCode
()
:
0
);
return
result
;
}
@Override
public
String
toString
()
{
return
toString
(
new
StringBuilder
()).
toString
();
}
/**
* REST serialization friendly list.
*/
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
@XmlSeeAlso
(
AtlasEntityWithAssociations
.
class
)
public
static
class
AtlasEntitiesWithAssociations
extends
PList
<
AtlasEntityWithAssociations
>
{
private
static
final
long
serialVersionUID
=
1L
;
public
AtlasEntitiesWithAssociations
()
{
super
();
}
public
AtlasEntitiesWithAssociations
(
List
<
AtlasEntityWithAssociations
>
list
)
{
super
(
list
);
}
public
AtlasEntitiesWithAssociations
(
List
list
,
long
startIndex
,
int
pageSize
,
long
totalCount
,
SortType
sortType
,
String
sortBy
)
{
super
(
list
,
startIndex
,
pageSize
,
totalCount
,
sortType
,
sortBy
);
}
}
}
intg/src/main/java/org/apache/atlas/model/instance/EntityMutationResponse.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
model
.
instance
;
import
org.apache.atlas.model.instance.AtlasEntityHeader
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.MapUtils
;
import
org.codehaus.jackson.annotate.JsonAutoDetect
;
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.util.ArrayList
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
NONE
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
PUBLIC_ONLY
;
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
public
class
EntityMutationResponse
{
Map
<
EntityMutations
.
EntityOperation
,
List
<
AtlasEntityHeader
>>
entitiesMutated
=
new
HashMap
<>();
public
EntityMutationResponse
()
{
}
public
EntityMutationResponse
(
final
Map
<
EntityMutations
.
EntityOperation
,
List
<
AtlasEntityHeader
>>
opVsEntityMap
)
{
this
.
entitiesMutated
=
opVsEntityMap
;
}
public
Map
<
EntityMutations
.
EntityOperation
,
List
<
AtlasEntityHeader
>>
getEntitiesMutated
()
{
return
entitiesMutated
;
}
public
void
setEntitiesMutated
(
final
Map
<
EntityMutations
.
EntityOperation
,
List
<
AtlasEntityHeader
>>
opVsEntityMap
)
{
this
.
entitiesMutated
=
opVsEntityMap
;
}
List
<
AtlasEntityHeader
>
getEntitiesByOperation
(
EntityMutations
.
EntityOperation
op
)
{
if
(
entitiesMutated
!=
null
)
{
return
entitiesMutated
.
get
(
op
);
}
return
null
;
}
public
void
addEntity
(
EntityMutations
.
EntityOperation
op
,
AtlasEntityHeader
header
)
{
if
(
entitiesMutated
==
null
)
{
entitiesMutated
=
new
HashMap
<
EntityMutations
.
EntityOperation
,
List
<
AtlasEntityHeader
>>();
}
if
(
entitiesMutated
!=
null
&&
entitiesMutated
.
get
(
op
)
==
null
)
{
entitiesMutated
.
put
(
op
,
new
ArrayList
<
AtlasEntityHeader
>());
}
entitiesMutated
.
get
(
op
).
add
(
header
);
}
public
StringBuilder
toString
(
StringBuilder
sb
)
{
if
(
sb
==
null
)
{
sb
=
new
StringBuilder
();
}
if
(
MapUtils
.
isNotEmpty
(
entitiesMutated
))
{
int
i
=
0
;
for
(
Map
.
Entry
<
EntityMutations
.
EntityOperation
,
List
<
AtlasEntityHeader
>>
e
:
entitiesMutated
.
entrySet
())
{
if
(
i
>
0
)
{
sb
.
append
(
","
);
}
sb
.
append
(
e
.
getKey
()).
append
(
":"
);
if
(
CollectionUtils
.
isNotEmpty
(
e
.
getValue
()))
{
for
(
int
j
=
0
;
i
<
e
.
getValue
().
size
();
j
++)
{
if
(
j
>
0
)
{
sb
.
append
(
","
);
}
e
.
getValue
().
get
(
i
).
toString
(
sb
);
}
}
i
++;
}
}
return
sb
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
return
true
;
if
(
this
==
null
||
getClass
()
!=
o
.
getClass
())
return
false
;
if
(
!
super
.
equals
(
o
))
return
false
;
EntityMutationResponse
that
=
(
EntityMutationResponse
)
o
;
if
(
entitiesMutated
!=
null
?
!
entitiesMutated
.
equals
(
that
.
entitiesMutated
)
:
that
.
entitiesMutated
!=
null
)
{
return
false
;
}
return
true
;
}
@Override
public
int
hashCode
()
{
int
result
=
(
entitiesMutated
!=
null
?
entitiesMutated
.
hashCode
()
:
0
);
return
result
;
}
@Override
public
String
toString
()
{
return
toString
(
new
StringBuilder
()).
toString
();
}
}
intg/src/main/java/org/apache/atlas/model/instance/EntityMutations.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
model
.
instance
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.codehaus.jackson.annotate.JsonAutoDetect
;
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.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
NONE
;
import
static
org
.
codehaus
.
jackson
.
annotate
.
JsonAutoDetect
.
Visibility
.
PUBLIC_ONLY
;
@JsonAutoDetect
(
getterVisibility
=
PUBLIC_ONLY
,
setterVisibility
=
PUBLIC_ONLY
,
fieldVisibility
=
NONE
)
@JsonSerialize
(
include
=
JsonSerialize
.
Inclusion
.
NON_NULL
)
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
@XmlRootElement
@XmlAccessorType
(
XmlAccessType
.
PROPERTY
)
public
class
EntityMutations
implements
Serializable
{
private
List
<
EntityMutation
>
entityMutations
=
new
ArrayList
<>();
public
enum
EntityOperation
{
CREATE_OR_UPDATE
,
PARTIAL_UPDATE
,
DELETE
,
}
public
static
final
class
EntityMutation
implements
Serializable
{
private
EntityOperation
op
;
private
AtlasEntity
entity
;
public
EntityMutation
(
EntityOperation
op
,
AtlasEntity
entity
)
{
this
.
op
=
op
;
this
.
entity
=
entity
;
}
public
StringBuilder
toString
(
StringBuilder
sb
)
{
if
(
sb
==
null
)
{
sb
=
new
StringBuilder
();
}
sb
.
append
(
"EntityMutation {"
);
sb
.
append
(
"op="
).
append
(
op
);
if
(
entity
!=
null
)
{
sb
.
append
(
", entity="
);
entity
.
toString
(
sb
);
}
sb
.
append
(
"}"
);
return
sb
;
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
{
return
true
;
}
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
{
return
false
;
}
EntityMutation
that
=
(
EntityMutation
)
o
;
if
(
op
!=
null
?
!
op
.
equals
(
that
.
op
)
:
that
.
op
!=
null
)
{
return
false
;
}
if
(
entity
!=
null
?
!
entity
.
equals
(
that
.
entity
)
:
that
.
entity
!=
null
)
{
return
false
;
}
return
true
;
}
@Override
public
int
hashCode
()
{
int
result
=
(
op
!=
null
?
op
.
hashCode
()
:
0
);
result
=
31
*
result
+
(
entity
!=
null
?
entity
.
hashCode
()
:
0
);
return
result
;
}
@Override
public
String
toString
()
{
return
toString
(
new
StringBuilder
()).
toString
();
}
}
public
EntityMutations
(
List
<
EntityMutation
>
entityMutations
)
{
this
.
entityMutations
=
entityMutations
;
}
public
StringBuilder
toString
(
StringBuilder
sb
)
{
if
(
sb
==
null
)
{
sb
=
new
StringBuilder
();
}
sb
.
append
(
"EntityMutations{"
);
if
(
CollectionUtils
.
isNotEmpty
(
entityMutations
))
{
for
(
int
i
=
0
;
i
<
entityMutations
.
size
();
i
++)
{
if
(
i
>
0
)
{
sb
.
append
(
","
);
}
entityMutations
.
get
(
i
).
toString
(
sb
);
}
}
sb
.
append
(
"}"
);
return
sb
;
}
@Override
public
String
toString
()
{
return
toString
(
new
StringBuilder
()).
toString
();
}
@Override
public
boolean
equals
(
Object
o
)
{
if
(
this
==
o
)
{
return
true
;
}
if
(
o
==
null
||
getClass
()
!=
o
.
getClass
())
{
return
false
;
}
EntityMutations
that
=
(
EntityMutations
)
o
;
if
(
entityMutations
!=
null
?
!
entityMutations
.
equals
(
that
.
entityMutations
)
:
that
.
entityMutations
!=
null
)
{
return
false
;
}
return
true
;
}
@Override
public
int
hashCode
()
{
int
result
=
(
entityMutations
!=
null
?
entityMutations
.
hashCode
()
:
0
);
return
result
;
}
}
intg/src/main/java/org/apache/atlas/type/AtlasTypeUtil.java
View file @
0c746895
intg/src/test/java/org/apache/atlas/TestUtilsV2.java
View file @
0c746895
...
...
@@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableList;
import
com.google.common.collect.ImmutableSet
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasObjectId
;
import
org.apache.atlas.model.typedef.AtlasClassificationDef
;
import
org.apache.atlas.model.typedef.AtlasEntityDef
;
import
org.apache.atlas.model.typedef.AtlasEnumDef
;
...
...
@@ -613,7 +614,7 @@ public final class TestUtilsV2 {
entity
.
setAttribute
(
"description"
,
"random table"
);
entity
.
setAttribute
(
"type"
,
"type"
);
entity
.
setAttribute
(
"tableType"
,
"MANAGED"
);
// entity.setAttribute("database", new Id(dbId, 0, DATABASE_TYPE
));
entity
.
setAttribute
(
"database"
,
new
AtlasObjectId
(
DATABASE_TYPE
,
dbId
));
entity
.
setAttribute
(
"created"
,
new
Date
());
return
entity
;
}
...
...
pom.xml
View file @
0c746895
...
...
@@ -1069,6 +1069,14 @@
<dependency>
<groupId>
org.apache.atlas
</groupId>
<artifactId>
atlas-intg
</artifactId>
<version>
${project.version}
</version>
<classifier>
tests
</classifier>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.apache.atlas
</groupId>
<artifactId>
atlas-typesystem
</artifactId>
<version>
${project.version}
</version>
</dependency>
...
...
release-log.txt
View file @
0c746895
...
...
@@ -9,6 +9,7 @@ ATLAS-1060 Add composite indexes for exact match performance improvements for al
ATLAS-1127 Modify creation and modification timestamps to Date instead of Long(sumasai)
ALL CHANGES:
ATLAS-1241 New Instance APIs and POJOs (sumasai)
ATLAS-1259 Fix Test and compilation failure caused bt ATLAS-1233 changes (apoorvnaik via sumasai)
ATLAS-1248 /bin/atlas_stop.py not killing the process and process is found alive even after 30 secs (zhangqiang2 via sumasai)
ATLAS-1258 BugFix for Indexer NPE on StructDef lookup (apoorvnaik via sumasai)
...
...
repository/src/main/java/org/apache/atlas/RepositoryMetadataModule.java
View file @
0c746895
...
...
@@ -37,6 +37,8 @@ import org.apache.atlas.repository.audit.EntityAuditRepository;
import
org.apache.atlas.repository.graph.DeleteHandler
;
import
org.apache.atlas.repository.graph.GraphBackedMetadataRepository
;
import
org.apache.atlas.repository.graph.GraphBackedSearchIndexer
;
import
org.apache.atlas.repository.store.graph.AtlasEntityStore
;
import
org.apache.atlas.repository.store.graph.v1.AtlasEntityStoreV1
;
import
org.apache.atlas.repository.store.graph.v1.AtlasTypeDefGraphStoreV1
;
import
org.apache.atlas.repository.typestore.GraphBackedTypeStore
;
import
org.apache.atlas.repository.typestore.ITypeStore
;
...
...
@@ -83,6 +85,8 @@ public class RepositoryMetadataModule extends com.google.inject.AbstractModule {
typeDefChangeListenerMultibinder
.
addBinding
().
to
(
DefaultMetadataService
.
class
);
typeDefChangeListenerMultibinder
.
addBinding
().
to
(
GraphBackedSearchIndexer
.
class
).
asEagerSingleton
();
bind
(
AtlasEntityStore
.
class
).
to
(
AtlasEntityStoreV1
.
class
);
// bind the MetadataService interface to an implementation
bind
(
MetadataService
.
class
).
to
(
DefaultMetadataService
.
class
).
asEagerSingleton
();
...
...
repository/src/main/java/org/apache/atlas/repository/store/graph/AtlasEntityStore.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
repository
.
store
.
graph
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.model.SearchFilter
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntityWithAssociations
;
import
org.apache.atlas.model.instance.EntityMutations
;
import
org.apache.atlas.model.instance.EntityMutationResponse
;
import
java.util.List
;
/**
* Persistence/Retrieval API for AtlasEntity
*/
public
interface
AtlasEntityStore
{
/**
* Initialization
*/
void
init
()
throws
AtlasBaseException
;
/**
* Create or update an entity if it already exists.
* @param entity
* @return
*/
EntityMutationResponse
createOrUpdate
(
AtlasEntity
entity
);
/**
* Update entity identified by its guid
* @param guid
* @param entity
* @return
*/
EntityMutationResponse
updateById
(
String
guid
,
AtlasEntity
entity
);
/**
*
* Get entity definition by its guid
* @param guid
* @return
*/
AtlasEntity
getById
(
String
guid
);
/**
* Delete an entity by its guid
* @param guid
* @return
*/
EntityMutationResponse
deleteById
(
String
guid
);
/**
* Create or update a list of entities
* @param entities List of AtlasEntity objects that need to be created
* @return EntityMutationResponse Entity mutations operations with the correspomding set of entities on which these operations were performed
* @throws AtlasBaseException
*/
EntityMutationResponse
createOrUpdate
(
List
<
AtlasEntity
>
entities
)
throws
AtlasBaseException
;
/**
*
* Provides list of updated entity guids including any child entities
* @param guid
* @param entity
* @return
* @throws AtlasBaseException
*/
EntityMutationResponse
updateByIds
(
String
guid
,
AtlasEntity
entity
)
throws
AtlasBaseException
;
/**
* Batch GET to retrieve entities by their ID
* @param guid
* @return
* @throws AtlasBaseException
*/
AtlasEntity
.
AtlasEntities
getByIds
(
List
<
String
>
guid
)
throws
AtlasBaseException
;
/**
* Batch GET to retrieve entities and their associations by their ID
* @param guid
* @return
* @throws AtlasBaseException
*/
AtlasEntityWithAssociations
getWithAssociationsByIds
(
List
<
String
>
guid
)
throws
AtlasBaseException
;
/*
* Return list of deleted entity guids
*/
EntityMutationResponse
deleteByIds
(
List
<
String
>
guid
)
throws
AtlasBaseException
;
/**
*
* Get an eneity by its unique attribute
* @param typeName
* @param attrName
* @param attrValue
* @return
*/
AtlasEntity
getByUniqueAttribute
(
String
typeName
,
String
attrName
,
String
attrValue
);
/**
* @deprecated
* Create or update a single entity
* @param typeName The entity's type
* @param attributeName Attribute that uniquely identifies the entity
* @param attributeValue The unqiue attribute's value
* @return EntityMutationResponse Entity mutations operations with the correspomding set of entities on which these operations were performed
* @throws AtlasBaseException
*
*/
EntityMutationResponse
updateByUniqueAttribute
(
String
typeName
,
String
attributeName
,
String
attributeValue
,
AtlasEntity
entity
)
throws
AtlasBaseException
;
/**
* @deprecated
* @param typeName
* @param attributeName
* @param attributeValue
* @return
* @throws AtlasBaseException
*/
EntityMutationResponse
deleteByUniqueAttribute
(
String
typeName
,
String
attributeName
,
String
attributeValue
)
throws
AtlasBaseException
;
/**
* Compose any type of mutation op - EntityMutation.EntityOperation - CREATE_OR_UPDATE, PARTIAL_UPDATE, DELETE etc in a single transaction
* @param mutations
* @return
* @throws AtlasBaseException
*/
EntityMutationResponse
batchMutate
(
EntityMutations
mutations
)
throws
AtlasBaseException
;
/**
* Add classification(s)
*/
void
addClassifications
(
String
guid
,
List
<
AtlasClassification
>
classification
)
throws
AtlasBaseException
;
/**
* Update classification(s)
*/
void
updateClassifications
(
String
guid
,
List
<
AtlasClassification
>
classification
)
throws
AtlasBaseException
;
/**
* Delete classification(s)
*/
void
deleteClassifications
(
String
guid
,
List
<
String
>
classificationNames
)
throws
AtlasBaseException
;
/**
*
* Search by AND filters like typename, pre-defined attribute(s) eg: name, qualifiedName
* @param searchFilter
* @return
* @throws AtlasBaseException
*/
AtlasEntity
.
AtlasEntities
searchEntities
(
SearchFilter
searchFilter
)
throws
AtlasBaseException
;
}
\ No newline at end of file
repository/src/main/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
repository
.
store
.
graph
.
v1
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.model.SearchFilter
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.AtlasEntityWithAssociations
;
import
org.apache.atlas.model.instance.EntityMutationResponse
;
import
org.apache.atlas.model.instance.EntityMutations
;
import
org.apache.atlas.repository.store.graph.AtlasEntityStore
;
import
java.util.List
;
public
class
AtlasEntityStoreV1
implements
AtlasEntityStore
{
@Override
public
void
init
()
throws
AtlasBaseException
{
}
@Override
public
EntityMutationResponse
createOrUpdate
(
final
AtlasEntity
entity
)
{
return
null
;
}
@Override
public
EntityMutationResponse
updateById
(
final
String
guid
,
final
AtlasEntity
entity
)
{
return
null
;
}
@Override
public
AtlasEntity
getById
(
final
String
guid
)
{
return
null
;
}
@Override
public
EntityMutationResponse
deleteById
(
final
String
guid
)
{
return
null
;
}
@Override
public
EntityMutationResponse
createOrUpdate
(
final
List
<
AtlasEntity
>
entities
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
EntityMutationResponse
updateByIds
(
final
String
guid
,
final
AtlasEntity
entity
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
AtlasEntity
.
AtlasEntities
getByIds
(
final
List
<
String
>
guid
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
AtlasEntityWithAssociations
getWithAssociationsByIds
(
final
List
<
String
>
guid
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
EntityMutationResponse
deleteByIds
(
final
List
<
String
>
guid
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
AtlasEntity
getByUniqueAttribute
(
final
String
typeName
,
final
String
attrName
,
final
String
attrValue
)
{
return
null
;
}
@Override
public
EntityMutationResponse
updateByUniqueAttribute
(
final
String
typeName
,
final
String
attributeName
,
final
String
attributeValue
,
final
AtlasEntity
entity
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
EntityMutationResponse
deleteByUniqueAttribute
(
final
String
typeName
,
final
String
attributeName
,
final
String
attributeValue
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
EntityMutationResponse
batchMutate
(
final
EntityMutations
mutations
)
throws
AtlasBaseException
{
return
null
;
}
@Override
public
void
addClassifications
(
final
String
guid
,
final
List
<
AtlasClassification
>
classification
)
throws
AtlasBaseException
{
}
@Override
public
void
updateClassifications
(
final
String
guid
,
final
List
<
AtlasClassification
>
classification
)
throws
AtlasBaseException
{
}
@Override
public
void
deleteClassifications
(
final
String
guid
,
final
List
<
String
>
classificationNames
)
throws
AtlasBaseException
{
}
@Override
public
AtlasEntity
.
AtlasEntities
searchEntities
(
final
SearchFilter
searchFilter
)
throws
AtlasBaseException
{
return
null
;
}
}
webapp/pom.xml
View file @
0c746895
...
...
@@ -347,6 +347,14 @@
<classifier>
tests
</classifier>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
org.apache.atlas
</groupId>
<artifactId>
atlas-intg
</artifactId>
<classifier>
tests
</classifier>
<scope>
test
</scope>
</dependency>
</dependencies>
<build>
...
...
webapp/src/main/java/org/apache/atlas/web/rest/EntitiesREST.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
web
.
rest
;
import
com.google.inject.Inject
;
import
org.apache.atlas.exception.AtlasBaseException
;
import
org.apache.atlas.model.SearchFilter
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.EntityMutationResponse
;
import
org.apache.atlas.repository.store.graph.AtlasEntityStore
;
import
org.apache.atlas.services.MetadataService
;
import
org.apache.atlas.type.AtlasTypeRegistry
;
import
org.apache.atlas.typesystem.types.TypeSystem
;
import
org.apache.atlas.web.util.Servlets
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
javax.inject.Singleton
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.ws.rs.Consumes
;
import
javax.ws.rs.DELETE
;
import
javax.ws.rs.GET
;
import
javax.ws.rs.POST
;
import
javax.ws.rs.PUT
;
import
javax.ws.rs.Path
;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.QueryParam
;
import
javax.ws.rs.core.Context
;
import
java.util.List
;
@Path
(
"v2/entities"
)
@Singleton
public
class
EntitiesREST
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
EntitiesREST
.
class
);
private
AtlasEntityStore
entitiesStore
;
@Context
private
HttpServletRequest
httpServletRequest
;
@Inject
private
MetadataService
metadataService
;
private
TypeSystem
typeSystem
=
TypeSystem
.
getInstance
();
@Inject
public
EntitiesREST
(
AtlasEntityStore
entitiesStore
,
AtlasTypeRegistry
atlasTypeRegistry
)
{
LOG
.
info
(
"EntitiesRest Init"
);
this
.
entitiesStore
=
entitiesStore
;
}
/*******
* Entity Creation/Updation if it already exists in ATLAS
* An existing entity is matched by its guid if supplied or by its unique attribute eg: qualifiedName
* Any associations like Classifications, Business Terms will have to be handled through the respective APIs
*******/
@POST
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
createOrUpdate
(
List
<
AtlasEntity
>
entities
)
throws
AtlasBaseException
{
return
null
;
}
/*******
* Entity Updation - Allows full update of the specified entities.
* Any associations like Classifications, Business Terms will have to be handled through the respective APIs
* Null updates are supported i.e Set an attribute value to Null if its an optional attribute
*******/
@PUT
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
update
(
List
<
AtlasEntity
>
entities
)
throws
AtlasBaseException
{
return
null
;
}
@GET
@Path
(
"/guids"
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
getById
(
@QueryParam
(
"guid"
)
List
<
String
>
guids
)
throws
AtlasBaseException
{
return
null
;
}
/*******
* Entity Delete
*******/
@DELETE
@Path
(
"/guids"
)
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
deleteById
(
@QueryParam
(
"guid"
)
List
<
String
>
guids
)
throws
AtlasBaseException
{
return
null
;
}
/**
* Bulk retrieval API for searching on entities by certain predefined attributes ( typeName, superType, name, qualifiedName etc) + optional user defined attributes
*
* @throws AtlasBaseException
*/
@GET
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasEntity
.
AtlasEntities
searchEntities
()
throws
AtlasBaseException
{
//SearchFilter searchFilter
return
null
;
}
}
webapp/src/main/java/org/apache/atlas/web/rest/EntityRest.java
0 → 100644
View file @
0c746895
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
apache
.
atlas
.
web
.
rest
;
import
org.apache.atlas.model.instance.AtlasClassification
;
import
org.apache.atlas.model.instance.AtlasEntity
;
import
org.apache.atlas.model.instance.EntityMutationResponse
;
import
org.apache.atlas.web.util.Servlets
;
import
javax.inject.Singleton
;
import
javax.ws.rs.Consumes
;
import
javax.ws.rs.DELETE
;
import
javax.ws.rs.DefaultValue
;
import
javax.ws.rs.GET
;
import
javax.ws.rs.POST
;
import
javax.ws.rs.PUT
;
import
javax.ws.rs.Path
;
import
javax.ws.rs.PathParam
;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.QueryParam
;
import
javax.ws.rs.core.Context
;
import
javax.ws.rs.core.MediaType
;
import
java.util.List
;
/**
* REST for a single entity
*/
@Path
(
"v2/entity"
)
@Singleton
public
class
EntityRest
{
/**
* Create or Update an entity if it already exists
*
* @param entity The updated entity
* @return
*/
@POST
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
createOrUpdate
(
AtlasEntity
entity
)
{
return
null
;
}
/**
* Complete Update of an entity identified by its GUID
*
* @param guid
* @param entity The updated entity
* @return
*/
@PUT
@Path
(
"guid/{guid}"
)
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
updateByGuid
(
@PathParam
(
"guid"
)
String
guid
,
AtlasEntity
entity
,
@DefaultValue
(
"false"
)
@QueryParam
(
"partialUpdate"
)
boolean
partialUpdate
)
{
return
null
;
}
/**
* Fetch the complete definition of an entity given its GUID.
*
* @param guid GUID for the entity
*/
@GET
@Path
(
"/guid/{guid}"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasEntity
getByGuid
(
@PathParam
(
"guid"
)
String
guid
)
{
return
null
;
}
/**
* Delete an entity identified by its GUID
*
* @param guid
* @return
*/
@DELETE
@Path
(
"guid/{guid}"
)
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
EntityMutationResponse
deleteByGuid
(
@PathParam
(
"guid"
)
String
guid
)
{
return
null
;
}
/*******
* Entity Partial Update - Allows a subset of attributes to be updated on
* an entity which is identified by its type and unique attribute eg: Referenceable.qualifiedName.
* Null updates are not possible
*******/
@Deprecated
@PUT
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Path
(
"/uniqueAttribute/type/{typeName}/attribute/{attrName}"
)
public
EntityMutationResponse
partialUpdateByUniqueAttribute
(
@PathParam
(
"typeName"
)
String
entityType
,
@PathParam
(
"attrName"
)
String
attribute
,
@QueryParam
(
"value"
)
String
value
,
AtlasEntity
entity
)
throws
Exception
{
return
null
;
}
@Deprecated
@DELETE
@Consumes
(
Servlets
.
JSON_MEDIA_TYPE
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Path
(
"/uniqueAttribute/type/{typeName}/attribute/{attrName}"
)
public
EntityMutationResponse
deleteByUniqueAttribute
(
@PathParam
(
"typeName"
)
String
entityType
,
@PathParam
(
"attrName"
)
String
attribute
,
@QueryParam
(
"value"
)
String
value
)
throws
Exception
{
return
null
;
}
/**
* Fetch the complete definition of an entity
* which is identified by its type and unique attribute eg: Referenceable.qualifiedName.
*/
@Deprecated
@GET
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
@Path
(
"/uniqueAttribute/type/{typeName}/attribute/{attrName}"
)
public
AtlasEntity
getByUniqueAttribute
(
@PathParam
(
"typeName"
)
String
entityType
,
@PathParam
(
"attrName"
)
String
attribute
,
@QueryParam
(
"value"
)
String
value
)
{
return
null
;
}
/**
* Gets the list of classifications for a given entity represented by a guid.
*
* @param guid globally unique identifier for the entity
* @return a list of classifications for the given entity guid
*/
@GET
@Path
(
"/guid/{guid}/classification/{classificationName}"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasClassification
.
AtlasClassifications
getClassification
(
@PathParam
(
"guid"
)
String
guid
,
@PathParam
(
"classificationName"
)
String
classificationName
)
{
return
null
;
}
/**
* Gets the list of classifications for a given entity represented by a guid.
*
* @param guid globally unique identifier for the entity
* @return a list of classifications for the given entity guid
*/
@GET
@Path
(
"/guid/{guid}/classifications"
)
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
AtlasClassification
.
AtlasClassifications
getClassifications
(
@PathParam
(
"guid"
)
String
guid
)
{
return
null
;
}
/**
* Classification management
*/
/**
* Adds classifications to an existing entity represented by a guid.
*
* @param guid globally unique identifier for the entity
*/
@POST
@Path
(
"/guid/{guid}/classifications"
)
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
addClassifications
(
@PathParam
(
"guid"
)
final
String
guid
,
List
<
AtlasClassification
>
classifications
)
{
}
/**
* Update classification(s) for an entity represented by a guid.
* Classifications are identified by their guid or name
*
* @param guid globally unique identifier for the entity
*/
@PUT
@Path
(
"/guid/{guid}/classifications"
)
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
updateClassifications
(
@PathParam
(
"guid"
)
final
String
guid
,
List
<
AtlasClassification
>
classifications
)
{
}
/**
* Deletes a given classification from an existing entity represented by a guid.
*
* @param guid globally unique identifier for the entity
* @param classificationName name of the trait
*/
@DELETE
@Path
(
"/guid/{guid}/classification/{classificationName}"
)
@Consumes
({
Servlets
.
JSON_MEDIA_TYPE
,
MediaType
.
APPLICATION_JSON
})
@Produces
(
Servlets
.
JSON_MEDIA_TYPE
)
public
void
deleteClassification
(
@PathParam
(
"guid"
)
String
guid
,
@PathParam
(
"classificationName"
)
String
classificationName
)
{
}
}
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