@Override @Transactional public Collection create(CollectionDetailsInfo collectionDetailsInfo, UserAccount user) throws Exception { String filteredTrack = collectionDetailsInfo.getTrack(); if (!StringUtils.isEmpty(filteredTrack)) { filteredTrack = getFilteredTrack(filteredTrack); if (StringUtils.isEmpty(filteredTrack)) { return null; } } Collection collection = adaptCollectionDetailsInfoToCollection(collectionDetailsInfo, user); collection.setTrack(filteredTrack); collection.setUsageType(UsageType.Production); try { collectionRepository.save(collection); collaboratorService.addCollaboratorToCollection( collectionDetailsInfo.getCode(), user.getId()); return collection; } catch (Exception e) { logger.error("Error in creating collection.", e); return null; } }