import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableSet;
+import jakarta.transaction.Transactional;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
-import javax.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
@Transactional
// A retry is made to store the schema set if it fails because of duplicated yang resource exception that
// can occur in case of specific concurrent requests.
- @Retryable(value = DuplicatedYangResourceException.class, maxAttempts = 5, backoff =
+ @Retryable(retryFor = DuplicatedYangResourceException.class, maxAttempts = 5, backoff =
@Backoff(random = true, delay = 200, maxDelay = 2000, multiplier = 2))
public void storeSchemaSet(final String dataspaceName, final String schemaSetName,
final Map<String, String> moduleReferenceNameToContentMap) {
@Transactional
// A retry is made to store the schema set if it fails because of duplicated yang resource exception that
// can occur in case of specific concurrent requests.
- @Retryable(value = DuplicatedYangResourceException.class, maxAttempts = 5, backoff =
+ @Retryable(retryFor = DuplicatedYangResourceException.class, maxAttempts = 5, backoff =
@Backoff(random = true, delay = 200, maxDelay = 2000, multiplier = 2))
public void storeSchemaSetFromModules(final String dataspaceName, final String schemaSetName,
final Map<String, String> newModuleNameToContentMap,
final DataspaceEntity dataspaceEntity = dataspaceRepository.getByName(dataspaceName);
final SchemaSetEntity schemaSetEntity =
schemaSetRepository.getByDataspaceAndName(dataspaceEntity, schemaSetName);
- final List<Long> allYangResourceIds =
+ final List<Integer> allYangResourceIds =
yangResourceRepository.getResourceIdsByModuleReferences(allModuleReferences);
yangResourceRepository.insertSchemaSetIdYangResourceId(schemaSetEntity.getId(), allYangResourceIds);
}
.filter(entity -> StringUtils.equals(checksum, (entity.getChecksum())))
.findFirst()
.map(YangResourceEntity::getFileName);
- if (optionalFileName.isPresent()) {
- return optionalFileName.get();
- }
- return null;
+ return optionalFileName.orElse("no filename");
}
private String getDuplicatedChecksumFromException(final ConstraintViolationException exception) {
final Matcher matcher = CHECKSUM_EXCEPTION_PATTERN.matcher(exception.getSQLException().getMessage());
- if (matcher.find() && matcher.groupCount() == 1) {
+ if (matcher.find()) {
return matcher.group(1);
}
- return null;
+ return "no checksum found";
}
private static ModuleReference toModuleReference(