Мигрируйте на последнюю Aspose.Tasks для Java
Aspose.Tasks
Aspose.tasks для Java 8.1.0 - это обновленная версия API, которая включает в себя значительные изменения с точки зрения использования. Ключевые различия обеих реализаций включают: Aspose.Tasks
Legacy API разрешил устанавливать общественные области различных классов данных проекта, таких как проект, задачи, ресурсы и т. Д., В то время как новая реализация вводит набор и получение методов для достижения того же самого
Пользователь, которые должны называться вручную, пересчитывайте вручную в API Legacy после определенных операций, таких как назначение ресурсов. Новый Aspose.tasks для Java API выполняет большинство таких расчетов автоматически без необходимого пользовательского вмешательства.
Новый API обеспечивает ручные, а также автоматические режимы пересчета, аналогичные Microsoft Project (MSP). Ручной режим рассчитывает только необходимые поля, тогда как автоматический режим пересматривает все. Это устраняет необходимость вызова вручную пересчитывания методов и улучшает общее использование API. Aspose.Tasks
Этот новый API несовместим с API Legacy, и цель этой статьи - помочь вам перенести ваш код в новый API. В статье показаны сравнительные образцы кода наследия и новую реализацию API и включает в себя:
Настройка свойств проекта по умолчанию
Aspose.tasks ‘Legacy API позволил установить свойства по умолчанию проекта путем непосредственной установки публичных атрибутов класса проекта. Однако в новой реализации API он выставляет настройки и получает методы для достижения того же самого.
Образец кода API Legacy API
Aspose.Tasks
1// Создать экземпляр проекта
2
3Project PRJ = новый проект ();
4
5// установить свойства по умолчанию
6
7prj.setschedulefromstart (true);
8
9prj.setStartDate (prj.getStartDate ());
10
11prj.setdefaultstarttime (prj.getStartDate ());
12
13prj.setdefaulttasktype (tasktype.fixedduration);
14
15prj.setdefaultstandardrate (15);
16
17prj.setdefaultovertimate (12);
18
19prj.setdefaulttaskevmethod (earnedvaluemethodtype.percentcomplete);
20
21prj.setdefaultfixedcostaccrual (COSTACCRLALTYPE.PRORED);
22
23// Сохранить проект в формате XML
24
25prj.save ("project4.xml", savefileformat.xml);
Новый Aspose.tasks для подхода Java 8.x
Aspose.Tasks
1Project Project = новый проект ();
2
3// установить свойства по умолчанию
4
5project.set (prj.schedule_from_start, new nullablebool (true));
6
7project.set (prj.default_start_time, project.get (prj.staAspose.Tasks
8
9project.set (prj.default_task_type, tasktype.fixedduration);
10
11project.set (prj.default_standard_rate, 15d);
12
13project.set (prj.default_overtime_rate, 12d);
14
15project.set (prj.default_task_ev_method, earnedvaluemethodtype.percentcomplete);
16
17project.set (prj.default_fixed_cost_accrual, CostaccrultType.prorated);
18
19project.save ("ProjectDefaultProps.xml", saveFileFormat.xml);
20Aspose.Tasks
Создание и добавление календаря для проекта
Для правильной функциональности элементов календаря, добавленных в проект, API Legacy, необходимый для пересчета календарных UID. Однако в новом API пересчете UIDS автоматически рассматриваются, и нет необходимости вызывать вычисления вручную.
Образец кода API Legacy API
1// Создать экземпляр проекта
2
3Project PRJ = новый проект ();
4
5// определить календарь
6
7Календарь Cal1 = новый календарь ();
8
9cal1.setname («Нет информации»);
10
11Календарь Cal2 = новый календарь (1);
12
13cal2.setname ("без имени");
14
15Календарь Cal3 = новый календарь ("cal3");
16Aspose.Tasks
17prj.getCalendars (). Add (cal1);
18
19prj.getCalendars (). Add (cal2);
20
21prj.getCalendars (). Add (cal3);
22
23prj.calccalendaruids ();
24prj.save ("project.xml", savefileformat.xml);
Новый Aspose.tasks для подхода Java 8.x
1Project PRJ = новый проект ();
2
3Календарь cal1 = prj.getCalendars (). Add («Нет информации»);
4
5Календарь cal2 = prj.getCalendars (). Add ("no name");
6
7Календарь cal3 = prj.getCalendars (). Add ("cal3");
8
9prj.save ("project.xml", savefileformat.xml);
Создание стандартного календаря
Повторные календарные UIDS больше не требуются в API New Aspose.Tasks по сравнению с API Legacy.
Образец кода API Legacy API
1Project PRJ = новый проект ();
2
3// определить календарь и сделать его стандартным
4
5Календарь Cal1 = новый календарь («My Cal»);
6
7Calendar.makestandardcalendar (CAL1);
8
9prj.getCalendars (). Add (cal1);
10
11prj.calccalendaruids ();
12
13prj.save ("project.xml", savefileformat.xml);
Новый Aspose.tasks для подхода Java 8.x
1// Создать экземпляр проекта
2
3Project ProjAspose.Tasks роект ();
4
5// определить календарь и сделать его стандартным
6
7Календарь cal1 = project.getCalendars (). Add ("my cal");
8
9Calendar.makestandardcalendar (CAL1);
10
11project.save ("project.xml", savefileformat.xml);
Создание и добавление задачи в проект
Создавая новую задачу в API Legacy, необходимо для определения корневой задачи, добавить ее в проект в качестве корневой задачи, а затем добавить новую задачу к этой корневой задаче в детстве. Новый API, однако, не нуждается в том, чтобы вы определили корневую задачу и автоматически позаботились о ней, добавляя первую задачу в проект.
Образец кода API Legacy API
1Project Project = новый проект ();
2
3Задача roottask = new Task ();
4
5Задача tskgen = новая задача ("task1");
6
7tskgen.setid (1);
8
9tskgen.setuid (1);
10
11java.util.calendar cal = java.util.calendar.getinstance ();
12
13Cal.Set (2014, 04, 23, 0, 0, 0);
14
15tskgen.setStart (cal.gettime ());
16
17Cal.Set (2014, 04, 25, 0, 0, 0);
18
19tskgen.setfinish (cal.gettime ());
20
21Project.setRottask (Roottask);
22
23project.getRotottask (). getChildren (). Add (tskgen);
24
25project.save ("project.xml", savefileformat.xml);
Новый Aspose.tasks для подхода Java 8.x
1Project Project = новый проект ();
2
3Задача задачи = project.getRotask (). GetChildren (). Add ("Task 1");
4
5java.util.calendar cal = java.util.calendar.getinstance ();
6
7Cal.Set (2014,3,4,0,0,0,0);
8
9task.set (tsk.start, cal.gettime ());
10
11// установить день начала задачи
12
13project.save ("createTasks.xml", saveFileFormat.xml);
Создать и добавить ресурс в проект
Методы * set * и * get * были добавлены в класс ресурсов API для манипулирования атрибутами, связанными с ресурсом проекта.
Образец кода API Legacy API
1Project Project = новый проект ();
2
3Ресурс Res = новый ресурс ("res1");
4
5res.setid (1);
6
7res.setuid (1);
8
9java.util.calendar cal = java.util.calendar.getinstance ();
10
11Cal.Set (2014, 04, 23, 0, 0, 0);
12
13res.setStart (cal.gettime ());
14
15Cal.Set (2014, 04, 25, 0, 0, 0);
16
17res.setfinish (cal.gettime ());
18
19project.getresources (). Add (res);
20
21project.save ("project.xml", savefileformat.xml);
Новый Aspose.tasks для подхода Java 8.x
1Project Project = новый проект ();
2
3Ресурс rsc = project.getresources (). Add ("r1");
4
5java.util.calendar cal = java.util.calendar.getinstance ();
6
7Cal.Set (2014,3,4,0,0,0,0);
8
9rsc.set (rsc.start, cal.gettime ());
10
11Cal.Set (2014,3,10,0,0,0);
12
13rsc.set (rsc.finish, cal.gettime ());
14
15project.save ("createresource.xml", savefileformat.xml);
Создать и добавить назначение ресурсов в Project
Класс * resourceSignment * также вводит методы * set * и * get *, аналогичные другими коллекциями данных API, таким как задачи, ресурсы и ссылки задач.
Образец кода API Legacy API
1Project Project = новый проект ();
2
3Задача tskroot = new Task ();
4
5Задача задачи = новая задача ("задача");
6
7Ресурс rsc = new Resource ();
8
9rsc.setstandardrate (bigdecimal.valueof (10));
10
11rsc.setovertimate (bigdecimal.valueof (15));
12
13Назначение ресурсов.
14
15назначение.setuid (1);
16
17java.util.calendar cal = java.util.calendar.getinstance ();
18
19Cal.Set (2009, 8, 18, 0, 0, 0);
20
21назначение.setStart (cal.getTime ());
22
23Cal.Set (2009,8,20,0,0,0);
24
25назначение.setfinish (cal.gettime ());
26
27Project.SetRottask (TSKROOT);
28
29Project.getRotoTtask (). getChildren (). Add (задание);
30
31Project.getResources (). Add (RSC);
32
33Project.GetResourCeasSignments (). Add (назначение);
34
35project.save ("project.xml", savefileformat.xml);
Новый Aspose.tasks для подхода Java 8.x
1Project Project = новый проект ();
2
3Задача задачи = project.getRotask (). GetChildren (). Add ("task");
4
5Ресурс rsc = project.getresources (). Add ("rsc");
6
7rsc.set (rsc.standard_rate, bigdecimal.valueof (10));
8
9rsc.set (rsc.overtime_rate, bigdecimal.valueof (15));
10
11ResourceSignament назначение = Project.GetResourCeasSignments (). Add (Task, RSC);
12
13java.util.calendar cal = java.util.calendar.getinstance ();
14
15Cal.Set (2014,3,4,0,0,0,0);
16
17назначение.set (asn.start, cal.gettime ());
18
19Cal.Set (2014,3,4,0,0,0,0);
20
21назначение.set (asn.finish, cal.gettime ());
22
23Project.save ("resourceSignments.xml", savefileformat.xml);