field custom metadata
Change-Id: I8ad5fdfee9ff8ec138b1089541c9ab1558e80050 Implements-blueprint: field-custom-attribute
This commit is contained in:
parent
0736698c92
commit
9883099cc4
|
@ -744,6 +744,8 @@ Possible values:
|
|||
schema['required_on_activate'] = False
|
||||
if field._default is not None:
|
||||
schema['default'] = field._default
|
||||
if field.metadata is not None:
|
||||
schema['metadata'] = field.metadata
|
||||
|
||||
schema['filter_ops'] = field.filter_ops
|
||||
|
||||
|
|
|
@ -32,7 +32,8 @@ DEFAULT_MAX_FOLDER_SIZE = 2673868800 # 2550 Megabytes
|
|||
class Field(object):
|
||||
def __init__(self, field_class, mutable=False, required_on_activate=True,
|
||||
system=False, validators=None, nullable=True, default=None,
|
||||
sortable=False, filter_ops=None, description=""):
|
||||
sortable=False, filter_ops=None, description="",
|
||||
metadata=None):
|
||||
"""Init and validate field.
|
||||
Each artifact field has several common properties:
|
||||
|
||||
|
@ -82,6 +83,7 @@ class Field(object):
|
|||
self.required_on_activate = required_on_activate
|
||||
self.system = system
|
||||
self.sortable = sortable
|
||||
self.metadata = metadata
|
||||
|
||||
try:
|
||||
default_ops = self.get_default_filter_ops(self.element_type)
|
||||
|
@ -101,7 +103,8 @@ class Field(object):
|
|||
self.filter_ops = filter_ops
|
||||
|
||||
self.field_props = ['mutable', 'required_on_activate', 'system',
|
||||
'sortable', 'filter_ops', 'description']
|
||||
'sortable', 'filter_ops', 'description',
|
||||
'metadata']
|
||||
self.description = description
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -483,7 +483,15 @@ fixtures = {
|
|||
u'readOnly': True,
|
||||
u'sortable': True,
|
||||
u'type': [u'string',
|
||||
u'null']}
|
||||
u'null']},
|
||||
u'metadata_attribute': {u'default': u'default',
|
||||
u'filter_ops': [u'eq', u'neq', u'in'],
|
||||
u'glareType': u'String',
|
||||
u'maxLength': 255,
|
||||
u'metadata': {
|
||||
u'metadata1': u'value1',
|
||||
u'metadata2': u'blahblahblah'},
|
||||
u'type': [u'string', u'null']},
|
||||
}),
|
||||
u'required': [u'name'],
|
||||
u'title': u'Artifact type sample_artifact of version 1.0',
|
||||
|
|
|
@ -135,7 +135,10 @@ class SampleArtifact(base_artifact.BaseArtifact):
|
|||
max_size=3),
|
||||
'system_attribute': Field(fields.StringField,
|
||||
system=True, sortable=True,
|
||||
default="default")
|
||||
default="default"),
|
||||
'metadata_attribute': Field(fields.StringField, default="default",
|
||||
metadata={"metadata1": "value1",
|
||||
"metadata2": "blahblahblah"})
|
||||
}
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Reference in New Issue