/* * Синхронизация проектов с аплановской системой ведения проектов * По адресу OQurl находится список проектов вместе с сотрудниками * в виде xml (файл синхронизации) * * <project id="" name="" description="" customer="" ending="" status="7-архив" pm="CN=Somebody Dmitry/CN=Users/DC=aplana/DC=com" hc="CN=Zaitsev Dmitry/CN=Users/DC=aplana/DC=com" > * <workgroup> * <user>Ivanov Ivan</user> * <user>Smirnov S***n</user> * <user>Sidorov Igor</user> * </workgroup> * </project> */ @Transactional public void sync() { trace.setLength(0); try { trace.append("Начало синхронизации\n"); projectDAO.setTrace(trace); // получим список веток project из xml файла NodeList nodes = getOQasNodeList(); trace .append("В файле синхронизации найдено: ") .append(nodes.getLength()) .append(" проектов\n"); for (int i = 0; i < nodes.getLength(); i++) { createOrUpdateProject(nodes.item(i).getAttributes(), projectDAO); } trace.append("Синхронизация завершена\n"); } catch (Exception e) { logger.error("oq project sync error: ", e); trace.append("Синхронизация прервана из-за ошибки: ").append(e.getMessage()).append("\n"); } }