ItemMaintActionForm form = (ItemMaintActionForm) actionForm;
AdminBean adminBean = getAdminBean(request);
Site site = adminBean.getSite();
initSiteProfiles(form, adminBean.getSite());
Item item = new Item();
item = ItemDAO.load(site.getSiteId(), Format.getLong(form.getItemId()));
String imageIds[] = form.getRemoveImages();
ItemLanguage itemLanguage = null;
for (ItemLanguage language : item.getItemLanguages()) {
if (language.getSiteProfileClass().getSiteProfileClassId().equals(form.getSiteProfileClassId())) {
itemLanguage = language;
break;
}
}
if (itemLanguage != null) {
ItemImage defaultImage = itemLanguage.getImage();
if (imageIds != null) {
for (int i = 0; i < imageIds.length; i++) {
if (defaultImage != null && defaultImage.getImageId().equals(Format.getLong(imageIds[i]))) {
itemLanguage.setImage(null);
em.persist(itemLanguage);
em.remove(defaultImage);
defaultImage = null;
}
else {
ItemImage itemImage = ItemImageDAO.load(site.getSiteId(), Format.getLong(imageIds[i]));
em.remove(itemImage);
}
}
}
itemLanguage.setRecUpdateBy(adminBean.getUser().getUserId());
itemLanguage.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
em.flush();
em.refresh(itemLanguage);
if (itemLanguage.getImage() == null) {
Set<?> images = itemLanguage.getImages();
if (!images.isEmpty()) {
ItemImage itemImage = (ItemImage) images.iterator().next();
itemLanguage.setImage(itemImage);
images.remove(itemImage);
}
}
}
em.flush();
em.refresh(item);
JSONEscapeObject jsonResult = createJsonImages(site.getSiteId(), item, form);
jsonResult.put("recUpdateBy", item.getRecUpdateBy());
jsonResult.put("recUpdateDatetime", Format.getFullDatetime(item.getRecUpdateDatetime()));
String jsonString = jsonResult.toHtmlString();
streamWebService(response, jsonString);
return null;
}