ArrayList<CheckupXMLData> xmlList = new ArrayList<CheckupXMLData>();
try {
for (int i = 0; i < selectedServices.size(); i++) {
DirectoryCheckupTypeItem checkUpType = selectedServices.get(i).getCheckUpType();
if (checkUpType != null) {
xmlList.add(new CheckupXMLData(checkUpType));
} else {
xmlList.add(null);
}
}
} catch (JDOMException ex) {
MessageBox.showError(MessageBox.E_INVALID_XML_STRING);
return;
} catch (ClipsException ex) {
MessageBox.showException(ex);
}
//отправляем хмлшки на редактирование
boolean needDlg = false;
for (int i = 0; i < xmlList.size(); i++) {
if (xmlList.get(i) != null) {
needDlg = true;
}
}
if (needDlg) {
DialogEditCheckUpList dlg = new DialogEditCheckUpList(MainWindow.mainWindow, xmlList);
dlg.setVisible(true);
if (dlg.getDlgResult() == ModalDialog.DLG_CANCEL) {
return;
}
}
//создаем список услуг, содержащих хмл
ArrayList<ServiceCheckupChunk> chunkList = new ArrayList<ServiceCheckupChunk>();
for (int i = 0; i < selectedServices.size(); i++) {
//создаем список хмл
//создаем список id типов чекапов
//создаем чанк услуги и хмл, добавляем в список
CheckupXMLData xmlData = xmlList.get(i);
String xml = xmlData != null ? xmlData.getXMLStr() : null;
int checkupTypeID = xmlData != null ? xmlData.getCheckupType().getID() : 0;
ServiceCheckupChunk chunk = new ServiceCheckupChunk(selectedServices.get(i).getID(), xml, checkupTypeID);
chunkList.add(chunk);
}