1616// under the License.
1717package org .apache .cloudstack .backup .backroll ;
1818
19- import java .util .ArrayList ;
20- import java .util .List ;
21-
19+ import com .fasterxml .jackson .databind .ObjectMapper ;
2220import org .apache .cloudstack .backup .Backup ;
23- import org .apache .cloudstack .backup .BackupOffering ;
2421import org .apache .cloudstack .backup .Backup .Metric ;
22+ import org .apache .cloudstack .backup .BackupOffering ;
2523import org .apache .cloudstack .backup .backroll .model .BackrollBackupMetrics ;
2624import org .apache .cloudstack .backup .backroll .model .BackrollOffering ;
2725import org .apache .cloudstack .backup .backroll .model .BackrollTaskStatus ;
4139import org .apache .cloudstack .backup .backroll .utils .BackrollHttpClient ;
4240import org .apache .cloudstack .backup .backroll .utils .BackrollHttpClient .BackrollHttpClientException ;
4341import org .apache .commons .lang3 .StringUtils ;
44-
4542import org .apache .logging .log4j .LogManager ;
4643import org .apache .logging .log4j .Logger ;
47-
4844import org .joda .time .DateTime ;
49-
5045import org .json .JSONException ;
5146import org .json .JSONObject ;
5247
53- import com .fasterxml .jackson .databind .ObjectMapper ;
48+ import java .util .ArrayList ;
49+ import java .util .List ;
5450
5551public class BackrollClient {
5652 protected Logger logger = LogManager .getLogger (BackrollClient .class );
@@ -73,26 +69,28 @@ public String startBackupJob(final String jobId) throws BackrollHttpClientExcept
7369 BackrollTaskRequestResponse requestResponse = backrollHttpClient .post (String .format ("/tasks/singlebackup/%s" , jobId ),
7470 null , BackrollTaskRequestResponse .class );
7571 logger .info ("startBackupJob : BackupJob status link: {}" , requestResponse .location );
76- backupJob = requestResponse .location .replace ("/api/v1" , "" );
77- return StringUtils .isEmpty (backupJob ) ? null : backupJob ;
72+
73+ var backupExternalId = requestResponse .location .replace ("/api/v1/status/" , "" );
74+
75+ return StringUtils .isEmpty (backupExternalId ) ? null : backupExternalId ;
7876 }
7977
80- public String getBackupOfferingUrl () throws BackrollHttpClientException {
78+ public List <BackupOffering > getBackupOfferings () throws BackrollHttpClientException {
79+
8180 logger .info ("Trying to get backroll backup policies url" );
82- String url = "" ;
83- BackrollTaskRequestResponse requestResponse = backrollHttpClient .getParse ("/backup_policies" ,
84- BackrollTaskRequestResponse .class );
81+ String urlTask = "" ;
82+ BackrollTaskRequestResponse requestResponse = backrollHttpClient .getParse ("/backup_policies" , BackrollTaskRequestResponse .class );
8583 logger .info ("BackrollClient:getBackupOfferingUrl:Apres Parse: " + requestResponse .location );
86- url = requestResponse .location .replace ("/api/v1" , "" );
87- return StringUtils .isEmpty (url ) ? null : url ;
88- }
84+ urlTask = requestResponse .location .replace ("/api/v1" , "" );
85+
86+ if (StringUtils .isEmpty (urlTask )) {
87+ return new ArrayList <BackupOffering >();
88+ }
8989
90- public List <BackupOffering > getBackupOfferings (String idTask ) throws BackrollHttpClientException {
9190 logger .info ("Trying to list backroll backup policies" );
9291 final List <BackupOffering > policies = new ArrayList <>();
93- BackupPoliciesResponse backupPoliciesResponse = backrollHttpClient .getWaitParse (idTask , BackupPoliciesResponse .class );
94- logger .info (
95- "BackrollClient:getBackupOfferings:Apres Parse: " + backupPoliciesResponse .backupPolicies .get (0 ).name );
92+ BackupPoliciesResponse backupPoliciesResponse = backrollHttpClient .getWaitParse (urlTask , BackupPoliciesResponse .class );
93+ logger .info ("BackrollClient:getBackupOfferings:Apres Parse: " + backupPoliciesResponse .backupPolicies .get (0 ).name );
9694 for (final BackrollBackupPolicyResponse policy : backupPoliciesResponse .backupPolicies ) {
9795 policies .add (new BackrollOffering (policy .name , policy .id ));
9896 }
@@ -139,16 +137,14 @@ public BackrollTaskStatus checkBackupTaskStatus(String taskId) throws BackrollCl
139137
140138 String backupResponse = backrollHttpClient .get ("/status/" + taskId );
141139
142- if (backupResponse .contains (TaskState .FAILURE ) || backupResponse .contains (TaskState .PENDING )) {
143- BackrollBackupStatusResponse backupStatusRequestResponse = new ObjectMapper ().readValue (backupResponse ,
144- BackrollBackupStatusResponse .class );
145- status .setState (backupStatusRequestResponse .state );
146- } else {
147- BackrollBackupStatusSuccessResponse backupStatusSuccessRequestResponse = new ObjectMapper ()
148- .readValue (backupResponse , BackrollBackupStatusSuccessResponse .class );
149- status .setState (backupStatusSuccessRequestResponse .state );
150- status .setInfo (backupStatusSuccessRequestResponse .info );
151- }
140+ if (backupResponse .contains (TaskState .FAILURE ) || backupResponse .contains (TaskState .PENDING )) {
141+ BackrollBackupStatusResponse backupStatusRequestResponse = new ObjectMapper ().readValue (backupResponse , BackrollBackupStatusResponse .class );
142+ status .setState (backupStatusRequestResponse .state );
143+ } else {
144+ BackrollBackupStatusSuccessResponse backupStatusSuccessRequestResponse = new ObjectMapper ().readValue (backupResponse , BackrollBackupStatusSuccessResponse .class );
145+ status .setState (backupStatusSuccessRequestResponse .state );
146+ status .setInfo (backupStatusSuccessRequestResponse .info );
147+ }
152148
153149 return StringUtils .isEmpty (status .getState ()) ? null : status ;
154150 } catch (Exception exception ) {
@@ -220,8 +216,7 @@ public BackrollBackupMetrics getBackupMetrics(String vmId, String backupId) thro
220216 BackrollBackupMetricsResponse metricsResponse = backrollHttpClient .getWaitParse (urlToRequest ,
221217 BackrollBackupMetricsResponse .class );
222218 if (metricsResponse .info != null ) {
223- metrics = new BackrollBackupMetrics (Long .parseLong (metricsResponse .info .originalSize ),
224- Long .parseLong (metricsResponse .info .deduplicatedSize ));
219+ metrics = new BackrollBackupMetrics (Long .parseLong (metricsResponse .info .originalSize ), Long .parseLong (metricsResponse .info .deduplicatedSize ));
225220 }
226221 return metrics ;
227222 }
0 commit comments