Znuny#
NAME#
Kernel::GenericInterface::Mapping::Znuny - GenericInterface Znuny data mapping backend
SYNOPSIS#
Advanced mapping functionalities.
PUBLIC INTERFACE#
new()#
usually, you want to create an instance of this by using Kernel::GenericInterface::Mapping->new();
Map()#
provides 1:1 and regex mapping for keys and values also the use of a default for untapped keys and values is possible
we need the config to be in the following format
$Self->{MappingConfig}->{Config} = {
KeyMapExact => { # optional. key/value pairs for direct replacement
'old_value' => 'new_value',
'another_old_value' => 'another_new_value',
'maps_to_same_value => 'another_new_value',
},
KeyMapRegEx => { # optional. replace keys with value if current key matches regex
'Stat(e|us)' => 'state',
'[pP]riority' => 'prio',
},
KeyMapDefault => { # required. replace keys if the have not been replaced before
MapType => 'Keep', # possible values are
# 'Keep' (leave unchanged)
# 'Ignore' (drop key/value pair)
# 'MapTo' (use provided value as default)
MapTo => 'new_value', # only used if 'MapType' is 'MapTo'. then required
},
ValueMap => {
'new_key_name' => { # optional. Replacement for a specific key
ValueMapExact => { # optional. key/value pairs for direct replacement
'old_value' => 'new_value',
'another_old_value' => 'another_new_value',
'maps_to_same_value => 'another_new_value',
},
ValueMapRegEx => { # optional. replace keys with value if current key matches regex
'Stat(e|us)' => 'state',
'[pP]riority' => 'prio',
},
},
},
ValueMapDefault => { # required. replace keys if the have not been replaced before
MapType => 'Keep', # possible values are
# 'Keep' (leave unchanged)
# 'Ignore' (drop key/value pair)
# 'MapTo' (use provided value as default)
MapTo => 'new_value', # only used if 'MapType' is 'MapTo'. then required
},
};
my $ReturnData = $MappingObject->Map(
Data => {
'original_key' => 'original_value',
'another_key' => 'next_value',
},
);
my $ReturnData = {
'changed_key' => 'changed_value',
'original_key' => 'another_changed_value',
'another_original_key' => 'default_value',
'default_key' => 'changed_value',
};
_ConfigCheck()#
does checks to make sure the config is sane
my $Return = $MappingObject->_ConfigCheck(
Config => { # config as defined for Map
...
},
);
in case of an error
$Return => {
Success => 0,
ErrorMessage => 'An error occurred',
};
in case of a success
$Return = {
Success => 1,
};