@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public CtlSchemaMetaInfo save(CtlSchemaMetaInfo object) {
String tenantId = object.getTenant() != null ? object.getTenant().getStringId() : null;
String applicationId = object.getApplication()
!= null ? object.getApplication().getStringId() : null;
LOG.debug("Try to save or find meta info with fqn [{}], tenantId [{}] and applicationId [{}]",
object.getFqn(),
tenantId, applicationId);
CtlSchemaMetaInfo uniqueMetaInfo = findByFqnTenantIdAndApplicationId(
object.getFqn(), tenantId, applicationId);
if (uniqueMetaInfo == null) {
uniqueMetaInfo = super.save(object, true);
LOG.debug("Save result: {}", uniqueMetaInfo);
} else {
LOG.debug("Search result: {}", uniqueMetaInfo);
}
return uniqueMetaInfo;
}