diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 7b3561afb0..0965c15013 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -6,6 +6,7 @@ + Improve handling of Activity Type attribute when reading PMXML files written by Primavera P6 6.x. Updated to POI 5.4.0 diff --git a/src/main/java/net/sf/mpxj/primavera/ActivityTypeHelper.java b/src/main/java/net/sf/mpxj/primavera/ActivityTypeHelper.java index 03633d5f00..585209f838 100644 --- a/src/main/java/net/sf/mpxj/primavera/ActivityTypeHelper.java +++ b/src/main/java/net/sf/mpxj/primavera/ActivityTypeHelper.java @@ -100,6 +100,9 @@ public static String getXerFromInstance(ActivityType value) XML_TYPE_MAP.put("Start Milestone", net.sf.mpxj.ActivityType.START_MILESTONE); XML_TYPE_MAP.put("Finish Milestone", net.sf.mpxj.ActivityType.FINISH_MILESTONE); XML_TYPE_MAP.put("WBS Summary", net.sf.mpxj.ActivityType.WBS_SUMMARY); + + // Version 6.1 schema. Need access to prmbo.xsd to confirm other values + XML_TYPE_MAP.put("0", net.sf.mpxj.ActivityType.TASK_DEPENDENT); } private static final Map TYPE_XML_MAP = new HashMap<>(); diff --git a/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java b/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java index 1e13c6ebfa..4a42b95a75 100644 --- a/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java +++ b/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java @@ -1854,7 +1854,7 @@ private void processTasks(List wbs, Map wbsNotes, List< // and Finish Date attributes are populated with that date. if (task.getMilestone()) { - if ("Start Milestone".equals(row.getType())) + if (task.getActivityType() == net.sf.mpxj.ActivityType.START_MILESTONE) { task.setFinish(task.getStart()); }