fsa.setStatus(AjaxWidgetAnswer.STATUS_NOSERVICE);
return fsa;
}
User user = Dispatcher.getInstance().getUser(userId);
// we have access carry on...
FileBean fileBean = fsr.getFile();
Collection<String> fileShareUsers = fsr.getFileShareUsers();
fsa.setFile(fileBean);
Connection con = null;
try {
try {
// add default answer text, listboxtexts, guisettings,
// containers
addDefaultAnswer(user, fsr, fsa);
con = DbHandler.getConnection();
con.setAutoCommit(false);
fileBean.setUpdatedby(userId);
fileBean.setTsupdated(new Timestamp(System.currentTimeMillis()));
fileBean.store(con);
// service groups
Collection<FileshareuserBean> col = FileshareuserFinder
.findByFileid(con, fileBean.getId());
// loop exsisting FileshareuserBean update or remove based on
// status
for (FileshareuserBean fsuBean : col) {
if (!fileShareUsers.contains(fsuBean.getUserid())) {
fsuBean.remove(con);
}
fileShareUsers.remove(fsuBean.getUserid());
}
User fileUser;
// loop remaining services and create them
for (String uId : fileShareUsers) {
FileshareuserBean fsuBean = new FileshareuserBean();
fsuBean.setFileid(fileBean.getId());
fsuBean.setUserid(uId);
fileUser = (User) UserFinderBase
.findByPrimaryKey(new UserKey(uId));
if (null != fileUser) {
//set correct label ending up on switch
fsuBean.setUserdescription(fileUser.getFirstname()
+ " " + fileUser.getLastname());
}
fsuBean.create(con);
}
con.commit();
// sa.setStatus(AjaxWidgetAnswer.STATUS_UPDATED);
// Dispatcher.getInstance().populateAccessTable();
// Collection<FileBean> col =
// FileFinder.findByOwner(user.getId());
fileBean.setFileShareUserCol(FileshareuserFinder
.findByFileid(fileBean.getId()));
// fsa.setServiceGroups(ServicegroupFinder.findByServiceid(fsr
// .getServiceId()));
// fsa.setUserGroups(UsergroupFinderBase.findAll());
} finally {
if (null != con) {