View Javadoc

1   package org.apache.maven.plugin.surefire.runorder;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *     http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  /**
23   * @author Kristian Rosenvold
24   */
25  public class Priority
26  {
27      private final String className;
28      int priority;
29      int totalRuntime = 0;
30      int minSuccessRate = Integer.MAX_VALUE;
31  
32      public Priority( String className )
33      {
34          this.className = className;
35      }
36  
37      public static Priority lowest(String className){
38          Priority priority1 = new Priority( className );
39          priority1.setPriority( Integer.MAX_VALUE );
40          priority1.minSuccessRate = 0;
41          return priority1;
42      }
43  
44      public void addItem( RunEntryStatistics itemStat )
45      {
46          totalRuntime += itemStat.getRunTime();
47          minSuccessRate = Math.min(  minSuccessRate, itemStat.getSuccessfulBuilds());
48      }
49  
50      public int getTotalRuntime()
51      {
52          return totalRuntime;
53      }
54  
55      public int getMinSuccessRate()
56      {
57          return minSuccessRate;
58      }
59  
60      public String getClassName()
61      {
62          return className;
63      }
64  
65      public int getPriority()
66      {
67          return priority;
68      }
69  
70      public void setPriority( int priority )
71      {
72          this.priority = priority;
73      }
74  }