2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 import java
.util
.ArrayList
;
22 import share
.DescEntry
;
26 * this class adds up the results of the subentries of a given DescEntry
27 * and fills the subentries in cases of SKIPPED states
29 public class Summarizer
34 * gets the state for a SuperEntry according to its subentries
36 public void summarizeUp(DescEntry entry
)
38 if ((entry
.State
!= null) && !entry
.State
.equals("UNKNOWN"))
42 int count
= entry
.SubEntryCount
;
44 ArrayList
<String
> failures
= new ArrayList
<String
>();
45 ArrayList
<String
> states
= new ArrayList
<String
>();
46 for (int i
= 0; i
< count
; i
++)
48 if (entry
.SubEntries
[i
].State
== null)
50 entry
.SubEntries
[i
].State
= "COMPLETED.FAILED";
52 if (entry
.SubEntries
[i
].State
.equals("known issue"))
54 entry
.SubEntries
[i
].State
= "COMPLETED.OK";
57 if (!entry
.SubEntries
[i
].State
.endsWith("OK"))
59 String sFailure
= "[" + entry
.SubEntries
[i
].longName
+ "]" + " is testcode: [" + entry
.SubEntries
[i
].entryName
+ "]";
60 failures
.add(sFailure
);
61 states
.add(entry
.SubEntries
[i
].State
);
64 if (failures
.size() > 0)
66 StringBuilder errMsg
= new StringBuilder();
67 String state
= "COMPLETED.FAILED";
68 for (int j
= 0; j
< failures
.size(); j
++)
70 if (states
.get(j
).equals("not part of the job"))
72 state
= "COMPLETED(some interfaces/services not tested).OK";
76 errMsg
.append(failures
.get(j
)).append(" - ").append(states
.get(j
)).append("\r\n");
79 entry
.hasErrorMsg
= true;
80 entry
.ErrorMsg
= errMsg
.toString();
83 else if (entry
.EntryType
.equals("component") && knownIssues
> 0)
85 entry
.State
= "COMPLETED(with known issues).OK";
89 entry
.State
= "COMPLETED.OK";
93 public static void summarizeDown(DescEntry entry
, String state
)
95 if ((entry
.State
== null) || entry
.State
.equals("UNKNOWN"))
99 for (int i
= 0; i
< entry
.SubEntryCount
; i
++)
101 summarizeDown(entry
.SubEntries
[i
], entry
.State
);