diff --git a/stix2/common.py b/stix2/common.py index 7c6e747..638dba5 100644 --- a/stix2/common.py +++ b/stix2/common.py @@ -1,18 +1,22 @@ """STIX 2 Common Data Types and Properties""" +from collections import OrderedDict + from .other import ExternalReference, GranularMarking from .properties import (BooleanProperty, ListProperty, ReferenceProperty, StringProperty, TimestampProperty) from .utils import NOW -COMMON_PROPERTIES = { +COMMON_PROPERTIES = OrderedDict() + +COMMON_PROPERTIES.update([ # 'type' and 'id' should be defined on each individual type - 'created': TimestampProperty(default=lambda: NOW, precision='millisecond'), - 'modified': TimestampProperty(default=lambda: NOW, precision='millisecond'), - 'external_references': ListProperty(ExternalReference), - 'revoked': BooleanProperty(), - 'labels': ListProperty(StringProperty), - 'created_by_ref': ReferenceProperty(type="identity"), - 'object_marking_refs': ListProperty(ReferenceProperty(type="marking-definition")), - 'granular_markings': ListProperty(GranularMarking), -} + ('created_by_ref', ReferenceProperty(type="identity")), + ('created', TimestampProperty(default=lambda: NOW, precision='millisecond')), + ('modified', TimestampProperty(default=lambda: NOW, precision='millisecond')), + ('revoked', BooleanProperty()), + ('labels', ListProperty(StringProperty)), + ('external_references', ListProperty(ExternalReference)), + ('object_marking_refs', ListProperty(ReferenceProperty(type="marking-definition"))), + ('granular_markings', ListProperty(GranularMarking)), +])