sa.setStatus(AjaxWidgetAnswer.STATUS_NOSERVICE);
return sa;
}
User user = Dispatcher.getInstance().getUser(userId);
// we have access carry on...
ServiceBean serviceBean = sr.getService();
Collection<String> userGroups = sr.getUserGroups();
sa.setService(serviceBean);
Connection con = null;
try {
try {
//add default answer text, listboxtexts, guisettings, containers
addDefaultAnswer(user, sr, sa);
con = DbHandler.getConnection();
con.setAutoCommit(false);
serviceBean.setUpdatedby(userId);
serviceBean.setTsupdated(new Timestamp(System
.currentTimeMillis()));
serviceBean.store(con);
// service groups
Collection<ServicegroupBean> col = ServicegroupFinder
.findByServiceidTheRealOne(con, serviceBean.getId());
// loop exsisting services update or remove based on status
for (ServicegroupBean sBean : col) {
if (!userGroups.contains(sBean.getUsergroupid())) {
sBean.remove(con);
//TODO:move the following line out of if statement and remove else.... check in usergroupmethods aswell
userGroups.remove(sBean.getUsergroupid());
} else {
userGroups.remove(sBean.getUsergroupid());
}
}
// loop remaining services and create them
for (String ugId : userGroups) {
ServicegroupBean sBean = new ServicegroupBean();
sBean.setCreatedby(userId);
sBean.setServiceid(serviceBean.getId());
sBean.setStatus(Integer.valueOf(1));
sBean.setTscreated(new Timestamp(System.currentTimeMillis()));
sBean.setUsergroupid(ugId);
sBean.create(con);
}