⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ganttmpxjopen.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        // gtask.setExpand()        // gtask.setLength();        gtask.setMilestone(milestone);        gtask.setName(task.getName() == null ? "-" : task.getName());        gtask.setNotes(task.getNotes());        Priority prio = task.getPriority();        if (prio != null) {            int priority = prio.getValue();            int p;            switch (priority) {            case Priority.HIGHEST:            case Priority.HIGHER:            case Priority.VERY_HIGH:                p = 2;                break;            case Priority.LOWEST:            case Priority.LOWER:            case Priority.VERY_LOW:                p = 0;                break;            default:                p = 1;            }            gtask.setPriority(p);        }        // gtask.setShape();        // gtask.setStartFixed()        // gtask.setTaskID()        gtask.setWebLink(task.getHyperlink());        Date taskStart = task.getStart();        assert taskStart!=null : "Task="+task+" has null start";        gtask.setStart(new GanttCalendar(taskStart));//        gtask.setDuration(tm.createLength((long) duration.getDuration()));        gtask.setDuration(tm.createLength((long) Math.ceil(duration.convertUnits(TimeUnit.DAYS).getDuration())));        // gtask.setEnd(new GanttCalendar(task.getFinish()));        //        // Add the task and process any child tasks        //        tm.registerTask(gtask);        m_tasks.addObject(gtask, (TaskNode) node, -1);        m_taskMap.put(task.getID(), new Integer(gtask.getTaskID()));        LinkedList children = task.getChildTasks();        if (children.size() != 0) {            node = m_tasks.getNode(gtask.getTaskID());            Iterator iter = children.iterator();            while (iter.hasNext() == true) {                processTask(tm, defaultCalendar, (Task) iter.next(), node);            }        }    }    /**     * This method extracts all of the inter-task relationships from and MPXFile     * instance, and creates the equivalent data structures in the GanttProject     * application.     *      * @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 ex) {                            ex.printStackTrace();                        }                    }                }            }        }    }    /**     * This method extracts all resource assignment data from an MPXFile     * instance and creates the equivalent GanttProject data structures.     *      * @param mpx     *            Currenct MPXFile instance     */    private void processResourceAssignments(MPXFile mpx) {        TaskManager tm = m_project.getTaskManager();        HumanResourceManager hrm = (HumanResourceManager) m_project                .getHumanResourceManager();        LinkedList assignments = mpx.getAllResourceAssignments();        Iterator iter = assignments.iterator();        com.tapsterrock.mpx.ResourceAssignment assignment;        int gTaskID;        int gResourceID;        GanttTask gTask;        ProjectResource gResource;        ResourceAssignment gAssignment;        while (iter.hasNext() == true) {            assignment = (com.tapsterrock.mpx.ResourceAssignment) iter.next();            gTaskID = mapTaskNumber(assignment.getTask().getID());            gResourceID = mapResourceNumber(assignment.getResource().getID());            if ((gTaskID != -1) && (gResourceID != -1)) {                gTask = tm.getTask(gTaskID);                gResource = hrm.getById(gResourceID);                gAssignment = gTask.getAssignmentCollection().addAssignment(                        gResource);                gAssignment.setLoad((float) assignment.getUnitsValue());                gAssignment.setCoordinator(false);                if (gResource instanceof HumanResource)                    gAssignment                            .setRoleForAssignment(((HumanResource) gResource)                                    .getRole());            }        }    }    /**     * Convenience function used to map an MPXFile task ID to a GanttProject     * task number.     *      * @param taskID     *            MPXFile task ID     * @return GanttProject task number     */    private int mapTaskNumber(Integer taskID) {        int result = -1;        Integer taskNumber = (Integer) m_taskMap.get(taskID);        if (taskNumber != null) {            result = taskNumber.intValue();        }        return (result);    }    /**     * Convenience function used to map an MPXFile resource ID to a GanttProject     * resource number.     *      * @param taskID     *            MPXFile task ID     * @return GanttProject task number     */    private int mapResourceNumber(Integer resourceID) {        int result = -1;        Integer resourceNumber = (Integer) m_resourceMap.get(resourceID);        if (resourceNumber != null) {            result = resourceNumber.intValue();        }        return (result);    }    private GanttTree2 m_tasks;    private GanttProject m_project;    private HashMap m_taskMap = new HashMap();    private HashMap m_resourceMap = new HashMap();    private Locale m_mpxImportLocale = Locale.ENGLISH;    private static final MPXDuration MILESTONE_DURATION = MPXDuration.getInstance(1,            TimeUnit.DAYS);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -