Java의 최신 Aspose.Tasks 로 마이그레이션하십시오

Java 8.1.0의 Tasks는 사용법 관점에서 상당한 변경 사항을 포함하는 API의 개선 된 버전입니다. 두 구현의 주요 차이점은 다음과 같습니다. Aspose.Tasks

  • 레거시 API는 프로젝트, 작업, 리소스 등과 같은 다양한 프로젝트 데이터 클래스의 공개 분야를 설정할 수있었습니다.

  • 리소스 할당과 같은 특정 작업 후 레거시 API의 사용자가 수동으로 호출 해야하는 방법을 다시 계산하십시오. Java API 용 새로운 Aspose.Tasks는 사용자 개입이 필요하지 않고 이러한 계산의 대부분을 자동으로 수행합니다.

  • 새로운 API는 MSP (Microsoft Project)와 유사한 자동 재 계산 모드뿐만 아니라 매뉴얼을 제공합니다. 수동 모드는 필요한 필드 만 계산하는 반면 자동 모드는 모든 것을 다시 계산합니다. 이를 통해 재 계산 방법을 수동으로 호출 할 필요가 없으며 전체 API 사용량이 향상됩니다.

이 새로운 API는 레거시 API와 호환되지 않으며이 기사의 목표는 코드를 새 API로 마이그레이션하는 데 도움이됩니다. 이 기사는 레거시 및 새로운 API 구현의 비교 코드 샘플을 보여 주며 다음을 포함합니다.

기본 프로젝트 속성 설정

Aspose.Tasks의 레거시 API를 통해 프로젝트 클래스의 공개 속성을 직접 설정하여 프로젝트의 기본 속성을 설정할 수있었습니다. 그러나 새로운 API 구현에서는 세트를 노출시키고 동일한 방법을 얻을 수있는 메소드를 가져옵니다.

레거시 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.setDefaultOverTimerate (12);
18
19prj.setDefaultTaskevMethod (exedValuemethodtype.percentComplete);
20
21prj.setDefaultFixedCostAccrual (CostAccrualType.Prorated);
22
23// 프로젝트를 XML 형식으로 저장합니다
24
25prj.save ( "project4.xml", savefileformat.xml);

새로운 Aspose.Tasks for java 8.x 접근

Aspose.Tasks

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3// 기본 속성을 설정합니다
 4
 5project.set (prj.schedule_from_start, new nullablebool (true));
 6
 7project.set (prj. Aspose.Tasks _time, project.get (prj.start_date));
 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, exedValuemethodtype.percentComplete);
16
17project.set (prj.default_fixed_cost_accrual, costaccrualtype.prorated);
18
19project.save ( "ProjectDefaultProps.xml", savefileformat.xml);
20 Aspose.Tasks 

프로젝트에 달력 생성 및 추가

프로젝트에 추가 된 달력 항목의 적절한 기능을 위해서는 캘린더 UID를 다시 계산하는 데 필요한 레거시 API. 그러나 새로운 API에서는 UIDS 재 계산이 자동으로 처리되며 계산을 수동으로 호출 할 필요가 없습니다.

레거시 API 코드 샘플

 1// 프로젝트 인스턴스를 만듭니다
 2
 3Project PRJ = 새로운 프로젝트 ();
 4
 5// 캘린더 정의
 6
 7Calendar Cal1 = New Calendar ();
 8
 9cal1.setName ( "정보 없음");
10
11Calendar Cal2 = 새로운 캘린더 (1);
12
13cal2.setName ( "이름 없음");
14
15Calendar Cal3 = New Calendar ( "Cal3");
16 Aspose.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 for java 8.x 접근

1Project PRJ = 새로운 프로젝트 ();
2
3Calendar cal1 = prj.getCalendars (). add ( "정보 없음");
4
5Calendar cal2 = prj.getCalendars (). add ( "No Name");
6
7Calendar cal3 = prj.getCalendars (). add ( "cal3");
8
9prj.save ( "project.xml", savefileformat.xml);
Aspose.Tasks

표준 달력 만들기

레거시 API와 비교하여 새로운 Aspose.Tasks의 API에서 재 계산 캘린더 UID는 더 이상 필요하지 않습니다.

레거시 API 코드 샘플

 1Project PRJ = 새로운 프로젝트 ();
 2
 3// 캘린더를 정의하고 표준으로 만듭니다
 4
 5Calendar Cal1 = 새로운 캘린더 ( "My Cal");
 6
 7Calendar.MakestandardCalendar (cal1);
 8
 9prj.getCalendars (). add (cal1);
10
11prj.calccalendaruids ();
12
13prj.save ( "project.xml", savefileformat.xml);

새로운 Aspose.Tasks for java 8.x 접근

 1// 프로젝트 인스턴스를 만듭니다
 2
 3프로젝트 프로젝트 Aspose.Tasks );
 4
 5// 캘린더를 정의하고 표준으로 만듭니다
 6
 7calendar cal1 = project.getCalendars (). add ( "my cal");
 8
 9Calendar.MakestandardCalendar (cal1);
10
11project.save ( "project.xml", savefileformat.xml);

프로젝트에 작업을 작성하고 추가하십시오

레거시 API에서 새로운 작업을 작성하려면 루트 작업을 정의하고 프로젝트에 루트 작업으로 추가 한 다음 어린이 로서이 루트 작업에 새로운 작업을 추가해야합니다. 그러나 새로운 API는 프로젝트에 첫 번째 작업을 추가하면서 루트 작업을 정의하고 자동으로 처리 할 필요가 없습니다.

레거시 API 코드 샘플

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3작업 roottask = 새로운 작업 ();
 4
 5task tskgen = new task ( "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.setRootTask (Roottask);
22
23project.getRootTask (). getChildren (). add (tskgen);
24
25project.save ( "project.xml", savefileformat.xml);

새로운 Aspose.Tasks for java 8.x 접근

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3task task = project.getRootTask (). getChildren (). add ( "task 1");
 4
 5java.util.calendar cal = java.util.calendar.getinstance ();
 6
 7Cal.set (2014,3,4,0,0,0);
 8
 9task.set (tsk.start, cal.gettime ());
10
11// 작업 시작을 설정합니다
12
13project.save ( "createTasks.xml", savefileformat.xml);

프로젝트에 리소스 생성 및 추가

레거시 API 코드 샘플

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3Resource 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 for java 8.x 접근

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3Resource rsc = project.getResources (). add ( "r1");
 4
 5java.util.calendar cal = java.util.calendar.getinstance ();
 6
 7Cal.set (2014,3,4,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);

프로젝트에 리소스 할당을 만들고 추가하십시오

레거시 API 코드 샘플

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3task tskroot = new Task ();
 4
 5작업 작업 = 새로운 작업 ( "작업");
 6
 7자원 RSC = 새로운 자원 ();
 8
 9rsc.setstandardrate (bigdecimal.valueof (10));
10
11rsc.setovertimale (bigdecimal.valueof (15));
12
13ResourceAssignment 할당 = 새로운 ResourceAssignment (작업, RSC);
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.setRootTask (TSKROOT);
28
29project.getRootTask (). getChildren (). add (task);
30
31project.getResources (). add (rsc);
32
33project.getResourceAsSignments (). add (할당);
34
35project.save ( "project.xml", savefileformat.xml);

새로운 Aspose.Tasks for java 8.x 접근

 1프로젝트 프로젝트 = 새로운 프로젝트 ();
 2
 3task task = project.getRootTask (). getChildren (). add ( "task");
 4
 5Resource rsc = project.getResources (). add ( "rsc");
 6
 7rsc.set (rsc.standard_rate, bigdecimal.valueof (10));
 8
 9rsc.set (rsc.overtime_rate, bigdecimal.valueof (15));
10
11ResourcEassignment 할당 = project.getResourceAsSignments (). add (task, rsc);
12
13java.util.calendar cal = java.util.calendar.getinstance ();
14
15Cal.set (2014,3,4,0,0,0);
16
17할당. 세트 (asn.start, cal.gettime ());
18
19Cal.set (2014,3,4,0,0,0);
20
21과제. 세트 (asn.finish, cal.gettime ());
22
23project.save ( "resourceassignments.xml", savefileformat.xml);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.