GetResourceNames возвращает null для метода задачи MPXJ

Я пытаюсь извлечь основную информацию о задачах и ресурсах из файла MS Project 2010 .mpp, используя MPXJ - Java. У меня нет проблем с открытием файла и сбросом всех задач, но проблема возникает при попытке доступа к ресурсам, назначенным задаче. Я вызываю Task.GetResourceNames(), но каждый раз возвращает значение null. Я также пытался вызвать Task.GetResourceAssignments(), но это также каждый раз возвращает значение null.

Я создал очень-очень простой проект с одной сводной задачей, тремя подзадачами, связанными вместе, и каждой из них был назначен отдельный ресурс.

Когда я запускаю свою программу, я вижу все задачи, но вызов GetResourceNames() по-прежнему возвращает значение null.

Я иду к этому через неправильный интерфейс?


person Thomas Bougetz    schedule 15.11.2012    source источник


Ответы (1)


Вы можете видеть в javadoc, что для файлов mpp GetResourceNames() всегда возвращает значение null. Чтобы получить имена ресурсов из конкретных задач, я сделал следующее:

            List<ResourceAssignment> Resources = task.getResourceAssignments();
// getResourceAssignments() return a list of ResourceAssignment of a specific task.
            Iterator i = Resources.iterator();

            while (i.hasNext()) {
                ResourceAssignment ra = (ResourceAssignment) i.next();
                Resource r = ra.getResource();
// we get the resource from the resource assignment
                System.out.println("\t Assigned Resources : " + r.getName());
// print the name of the Resource. If you want to do the same than GetResourceNames, just add each name in a String and you will have the same results at the end.
            } 

Надеюсь это поможет.

person Bdloul    schedule 22.01.2013