Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 24 additions & 9 deletions src/schema/schema_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,10 @@ def generate_triggered_data(trigger_type: TriggerTypeEnum, normalized_class, req
# Get the target trigger method defined in the schema_triggers.py module
trigger_method_to_call = getattr(schema_triggers, trigger_method_name)

logger.info(f"To run {trigger_type.value}: {trigger_method_name} defined for {normalized_class}")
if 'uuid' in existing_data_dict:
logger.info(f"To run {trigger_type.value}: {trigger_method_name} for {normalized_class} {existing_data_dict['uuid']}")
else:
logger.info(f"To run {trigger_type.value}: {trigger_method_name} for {normalized_class}")

# No return values for 'after_create_trigger' and 'after_update_trigger'
# because the property value is already set and stored in neo4j
Expand All @@ -441,7 +444,10 @@ def generate_triggered_data(trigger_type: TriggerTypeEnum, normalized_class, req
try:
trigger_method_to_call = getattr(schema_triggers, trigger_method_name)

logger.info(f"To run {trigger_type.value}: {trigger_method_name} defined for {normalized_class}")
if 'uuid' in existing_data_dict:
logger.info(f"To run {trigger_type.value}: {trigger_method_name} for {normalized_class} {existing_data_dict['uuid']}")
else:
logger.info(f"To run {trigger_type.value}: {trigger_method_name} for {normalized_class}")

# Will set the trigger return value as the property value by default
# Unless the return value is to be assigned to another property different target key
Expand Down Expand Up @@ -488,7 +494,10 @@ def generate_triggered_data(trigger_type: TriggerTypeEnum, normalized_class, req
try:
trigger_method_to_call = getattr(schema_triggers, trigger_method_name)

logger.info(f"To run {trigger_type.value}: {trigger_method_name} defined for {normalized_class}")
if 'uuid' in existing_data_dict:
logger.info(f"To run {trigger_type.value}: {trigger_method_name} for {normalized_class} {existing_data_dict['uuid']}")
else:
logger.info(f"To run {trigger_type.value}: {trigger_method_name} for {normalized_class}")

# Will set the trigger return value as the property value by default
# Unless the return value is to be assigned to another property different target key
Expand Down Expand Up @@ -1032,8 +1041,11 @@ def execute_entity_level_validator(validator_type, normalized_entity_type, reque
try:
# Get the target validator method defined in the schema_validators.py module
validator_method_to_call = getattr(schema_validators, validator_method_name)

logger.info(f"To run {validator_type}: {validator_method_name} defined for entity {normalized_entity_type}")

if 'uuid' in existing_entity_dict:
logger.info(f"To run {validator_type}: {validator_method_name} for {normalized_entity_type} {existing_entity_dict['uuid']}")
else:
logger.info(f"To run {validator_type}: {validator_method_name} for {normalized_entity_type}")

# Create a dictionary to hold data need by any entity validator, which must be populated
# with validator specific requirements when the method to be called is determined.
Expand All @@ -1053,7 +1065,7 @@ def execute_entity_level_validator(validator_type, normalized_entity_type, reque
except schema_errors.LockedEntityUpdateException as leue:
raise leue
except Exception as e:
msg = f"Failed to call the {validator_type} method: {validator_method_name} defined for entity {normalized_entity_type}"
msg = f"Failed to call the {validator_type} method: {validator_method_name} for {normalized_entity_type}"
# Log the full stack trace, prepend a line with our message
logger.exception(msg)
raise e
Expand Down Expand Up @@ -1098,7 +1110,10 @@ def execute_property_level_validators(validator_type, normalized_entity_type, re
# Get the target validator method defined in the schema_validators.py module
validator_method_to_call = getattr(schema_validators, validator_method_name)

logger.info(f"To run {validator_type}: {validator_method_name} defined for entity {normalized_entity_type} on property {key}")
if 'uuid' in existing_data_dict:
logger.info(f"To run {validator_type}: {validator_method_name} for {normalized_entity_type} {existing_data_dict['uuid']} on property {key}")
else:
logger.info(f"To run {validator_type}: {validator_method_name} for {normalized_entity_type} on property {key}")

validator_method_to_call(key, normalized_entity_type, request, existing_data_dict, new_data_dict)
except schema_errors.MissingApplicationHeaderException as e:
Expand All @@ -1108,12 +1123,12 @@ def execute_property_level_validators(validator_type, normalized_entity_type, re
except ValueError as ve:
raise ValueError(ve)
except schema_errors.UnimplementedValidatorException as uve:
msg = f"Failed to call the {validator_type} method: {validator_method_name} defined for entity {normalized_entity_type} on property {key}"
msg = f"Failed to call the {validator_type} method: {validator_method_name} for {normalized_entity_type} on property {key}"
# Log the full stack trace, prepend a line with our message
logger.exception(f"{msg}. {str(uve)}")
raise uve
except Exception as e:
msg = f"Unexpected exception calling {validator_type} method: {validator_method_name} defined for entity {normalized_entity_type} on property {key}"
msg = f"Unexpected exception calling {validator_type} method: {validator_method_name} for {normalized_entity_type} on property {key}"
# Log the full stack trace, prepend a line with our message
logger.exception(f"{msg}. {str(e)}")
raise e
Expand Down