GetRelatedTerms delegate
Field name
Required
Description
<scriptTask id="scripttask1" name="Get related terms" scriptFormat="groovy" activiti:autoStoreVariables="false">
<script><![CDATA[
import com.collibra.dgc.core.api.model.meta.type.RelationType;
import com.collibra.dgc.core.api.dto.meta.relationtype.FindRelationTypesRequest;
import com.collibra.dgc.core.api.model.instance.Relation;
import com.collibra.dgc.core.api.dto.instance.relation.FindRelationsRequest;
import com.collibra.dgc.core.api.model.reference.NamedResourceReference;
import com.collibra.dgc.workflow.api.exception.WorkflowException;
List<RelationType> relationTypes = relationTypeApi.findRelationTypes(FindRelationTypesRequest.builder()
.role("groups")
.build())
.getResults()
if (relationTypes.isEmpty()) {
throw new WorkflowException("No relation types for provided role 'groups'");
}
List<UUID> relatedAssetIds = new ArrayList<>();
for (RelationType relationType : relationTypes) {
List<Relation> relations = relationApi.findRelations(FindRelationsRequest.builder()
.sourceId(item.id)
.relationTypeId(relationType.getId())
.build())
.getResults();
for (Relation relation : relations) {
relatedAssetIds.add(relation.getTarget().getId());
}
}
execution.setVariable("relations", relatedAssetIds);
]]></script>
</scriptTask>Last updated
Was this helpful?