Мигрируйте на последнюю 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);
Aspose.Tasks

Создание стандартного календаря

Повторные календарные 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);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.