Iterator<?> attributeDetailIterator = item.getItemAttributeDetails().iterator();
while (attributeDetailIterator.hasNext()) {
ItemAttributeDetail itemAttributeDetail = (ItemAttributeDetail) attributeDetailIterator.next();
Iterator<?> attributeDetailLangIterator = itemAttributeDetail.getItemAttributeDetailLanguages().iterator();
while (attributeDetailLangIterator.hasNext()) {
ItemAttributeDetailLanguage itemAttributeDetailLanguage = (ItemAttributeDetailLanguage) attributeDetailLangIterator.next();
if (itemAttributeDetailLanguage.getSiteProfileClass().getSiteProfileClassId().equals(siteProfileClassId)) {
em.remove(itemAttributeDetailLanguage);
}
}
}
if (form.isItemAttribDetailValueLangFlag()) {
ItemAttributeDetailDisplayForm itemAttributeDetails[] = form.getItemAttributeDetails();
for (int i = 0; i < itemAttributeDetails.length; i++) {
ItemAttributeDetailDisplayForm displayForm = itemAttributeDetails[i];
CustomAttribute customAttribute = CustomAttributeDAO.load(adminBean.getSite().getSiteId(), Format.getLong(itemAttributeDetails[i].getCustomAttribId()));
if (customAttribute.getCustomAttribTypeCode() != Constants.CUSTOM_ATTRIBUTE_TYPE_USER_INPUT) {
continue;
}
ItemAttributeDetail itemAttributeDetail = null;
if (Format.isNullOrEmpty(displayForm.getItemAttribDetailId())) {
itemAttributeDetail = new ItemAttributeDetail();
itemAttributeDetail.setRecUpdateBy(user.getUserId());
itemAttributeDetail.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
itemAttributeDetail.setRecCreateBy(user.getUserId());
itemAttributeDetail.setRecCreateDatetime(new Date(System.currentTimeMillis()));
em.persist(itemAttributeDetail);
}
else {
itemAttributeDetail = (ItemAttributeDetail) em.find(ItemAttributeDetail.class, Format.getLong(displayForm.getItemAttribDetailId()));
}
ItemAttributeDetailLanguage itemAttributeDetailLanguage = new ItemAttributeDetailLanguage();
itemAttributeDetailLanguage.setItemAttribDetailValue(displayForm.getItemAttribDetailValueLang());
itemAttributeDetailLanguage.setRecUpdateBy(user.getUserId());
itemAttributeDetailLanguage.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
itemAttributeDetailLanguage.setRecCreateBy(user.getUserId());
itemAttributeDetailLanguage.setRecCreateDatetime(new Date(System.currentTimeMillis()));
itemAttributeDetailLanguage.setItemAttributeDetail(itemAttributeDetail);
itemAttributeDetailLanguage.setSiteProfileClass(siteProfileClass);
em.persist(itemAttributeDetailLanguage);
}
}
}