*
* @param mpx
* Currenct MPXFile instance
*/
private void processRelationships(MPXFile mpx) {
TaskManager tm = m_project.getTaskManager();
Iterator taskIter = mpx.getAllTasks().iterator();
Task task;
RelationList rels;
Iterator relIter;
Relation rel;
GanttTask gTask1;
int gTaskNumber1;
GanttTask gTask2;
int gTaskNumber2;
TaskDependency gTaskDependency;
int gConstraintType;
while (taskIter.hasNext() == true) {
task = (Task) taskIter.next();
gTaskNumber1 = mapTaskNumber(task.getID());
if (gTaskNumber1 == -1) {
continue;
}
rels = (RelationList)task.getPredecessors();
if (rels != null) {
relIter = rels.iterator();
while (relIter.hasNext() == true) {
rel = (Relation) relIter.next();
gTaskNumber2 = mapTaskNumber(new Integer(rel
.getTaskIDValue()));
if (gTaskNumber2 != -1) {
gTask1 = tm.getTask(gTaskNumber1);
gTask2 = tm.getTask(gTaskNumber2);
switch (rel.getType().getType()) {
case RelationType.FINISH_FINISH_VALUE: {
gConstraintType = GanttTaskRelationship.FF;
break;
}
case RelationType.START_FINISH_VALUE: {
gConstraintType = GanttTaskRelationship.SF;
break;
}
case RelationType.START_START_VALUE: {
gConstraintType = GanttTaskRelationship.SS;
break;
}
default:
case RelationType.FINISH_START_VALUE: {
gConstraintType = GanttTaskRelationship.FS;
break;
}
}
try {
gTaskDependency = tm
.getDependencyCollection()
.createDependency(
gTask1,
gTask2,
tm
.createConstraint(gConstraintType));
gTaskDependency.setConstraint(tm
.createConstraint(gConstraintType));
}
catch (TaskDependencyException e) {
if (!GPLogger.log(e)) {