Проблема сонара, логика шифрования, сделайте метод вложения «статичным» или удалите этот наборJAVA

Программисты JAVA общаются здесь
Anonymous
Проблема сонара, логика шифрования, сделайте метод вложения «статичным» или удалите этот набор

Сообщение Anonymous »

Я имею очень важный файл расширения зашифрованного зашифрования и получение этой ошибки сонара «сделать метод прилавок« статическим »или удалить этот набор« < /p>
Теперь, потому что переменные статические, метод, в котором их значения должны быть статическими, но мы также автофируют их, а статические методы не могут быть ошибочными < /p>
и, если я не создаю их. Произошла неожиданная ошибка: произошла ошибка во время обновления пациента ORG. Не могу вызвать "com.docasap.patientmanagementservice.helpers.encryptdecrypthelper.buildencryptdecryptserviceimpl ()", потому что "это.

Код: Выделить всё

@Slf4j
@Component
public class StudentEventListener {

private static OptStudentRepo optStudentRepo;
private static IntStudentRepo intStudentRepo;
private static EncryptDecryptHelper encryptDecryptHelper;

@Autowired
public void setEncryptDecryptHelper(EncryptDecryptHelper encryptDecryptHelp) {
encryptDecryptHelper = encryptDecryptHelp;
}

@Autowired
public void setOasPatientRepo(IntStudentRepo intStudentRepo1) {
intStudentRepo = intStudentRepo1;
}

@Autowired
public void setOrgPatientRepo(OptStudentRepo optStudentRepo1) {
optStudentRepo = optStudentRepo1;
}

protected EncryptDecryptService determineEncryptionKey(StudentRecord sr) {
HashMap encIds = sr.getEncryptionIds(intStudentRepo, optStudentRepo);
EncryptDecryptService encryptDecryptService = encryptDecryptHelper.buildEncryptDecryptServiceImpl();
try {

encryptDecryptService.setValue(encIds.get("schoolId").toString(), encIds.get("classId"), SupportedEncryption.AES256);
return encryptDecryptService;
} catch (InvalidPropertiesFormatException | RuntimeException e) {
try {
encryptDecryptService.setValue("0", 0, SupportedEncryption.AES256);
return encryptDecryptService;
} catch (InvalidPropertiesFormatException ex) {
throw new RuntimeException(ex);
}
}

}
}
< /code>
Этот класс расширяется в нескольких других классах, где мы делаем записи зашифрованные или расшифрованные < /p>
@Slf4j
@Component
public class OptStudentEventListener extends StudentEventListener {

@PrePersist
public void encryptRecord(OptStudent os) throws Throwable {
if (os.getIsEncrypted()) {
return;
}
EncryptDecryptService encryptDecryptService = determineEncryptionKey(os);
os.setFirstName(encryptDecryptService.encryptString(pc.getFirstName()));
os.setLastName(encryptDecryptService.encryptString(pc.getLastName()));
os.setMiddleName(encryptDecryptService.encryptString(pc.getMiddleName()));
os.setIsEncrypted(true);
}
}
}
Как я могу сделать эту работу без сонарских проблем

Подробнее здесь: https://stackoverflow.com/questions/795 ... emove-this

Вернуться в «JAVA»