protected function enrichRelation($object, $params, &$classId, &$relation = [])
{
if (!$relation) {
$relation = [];
}
if ($object instanceof Object\Concrete) {
$relation["src_id"] = $object->getId();
$relation["ownertype"] = "object";
$classId = $object->getClassId();
} elseif ($object instanceof Object\Fieldcollection\Data\AbstractData) {
$relation["src_id"] = $object->getObject()->getId();
// use the id from the object, not from the field collection
$relation["ownertype"] = "fieldcollection";
$relation["ownername"] = $object->getFieldname();
$relation["position"] = $object->getIndex();
$classId = $object->getObject()->getClassId();
} elseif ($object instanceof Object\Localizedfield) {
$relation["src_id"] = $object->getObject()->getId();
$relation["ownertype"] = "localizedfield";
$relation["ownername"] = "localizedfield";
$context = $object->getContext();
if ($context && $context["containerType"] == "fieldcollection") {
$fieldname = $context["fieldname"];
$index = $context["index"];
$relation["ownername"] = "/fieldcollection~" . $fieldname . "/" . $index . "/localizedfield~" . $relation["ownername"];
}
$relation["position"] = $params["language"];
$classId = $object->getObject()->getClassId();
} elseif ($object instanceof Object\Objectbrick\Data\AbstractData) {
$relation["src_id"] = $object->getObject()->getId();
$relation["ownertype"] = "objectbrick";
$relation["ownername"] = $object->getFieldname();
$relation["position"] = $object->getType();
$classId = $object->getObject()->getClassId();
}
}