У меня есть простая веб-страница, на которой я могу щелкнуть раскрывающееся меню и выбрать понравившуюся версию документа. Каждая версия документа имеет свой собственный статус файла, представленный Активно (1) или Устаревшее (2) .
Поэтому, если я перейду на любую версию документа, я смогу просмотреть детали этого документа. А рядом с документом есть кнопка «Редактировать», которая будет отображаться в зависимости от состояния файла версии.
Только один файл может быть активным одновременно.Так что если есть две версии, версия A и версия B, где A активен, то B должен быть устаревшим. Если я перехожу на просмотр версии B (с помощью раскрывающегося списка), кнопка Edit не должна отображаться.
Inмой БД, у меня есть столбец с именем fstatus
, представленный int.Когда он извлекает версию документа, он проверяет значение этого столбца.Если значение равно 1, отобразите кнопку «Редактировать», в противном случае кнопка не будет отображаться.
Моя проблема в том, что при переходе на неактивную версию я хочу установить значение, отличное от 1, чтобы оно автоматическиудаляет кнопкуКажется, я не могу заставить его работать, поэтому мне нужно знать, что я делаю неправильно.
Fmedia.java : есть метод получения и установки, который извлекает и устанавливает значение длястолбец в таблице
public int getFstatus() {
return fstatus;
}
public void setFstatus(int fstatus) {
this.fstatus = fstatus;
}
File.java :
public Node get_folder(long fileID) {
//this line is not that important
List resList1 = nodeFacade.list_parent(fileID, LinkType.VER_LINKS);
// This retrieves version document that are inactive
if(resList1.size()==1){
// grabs the unique fileID so it knows which row in the table to update the column status
Fmedia fmedia = new Fmedia(fileID);
//set the status column to 2 (initially it's 1)
fmedia.setFstatus(2);
// by changing the value to 2 before retrieving the record,it should be able to retrieve the record now and not display the button.
// returns the records of that inactive version.
return (Node) resList1.get(0);
}
}
Я подозреваю, что проблема заключается в строке fmedia.setFstatus(2);
, потому что мне действительно нужно обновить записьот 1 до 2, и это существующая запись в таблице.Кроме того, я запустил отладку, и он смог получить правильный идентификатор файла, но каким-то образом он не может обновить столбец состояния, то есть все равно 1, что мне не нужно.
Есть ли способ преодолеть эту проблему