01: /*
02: * This file or a portion of this file is licensed under the terms of
03: * the Globus Toolkit Public License, found in file GTPL, or at
04: * http://www.globus.org/toolkit/download/license.html. This notice must
05: * appear in redistributions of this file, with or without modification.
06: *
07: * Redistributions of this Software, with or without modification, must
08: * reproduce the GTPL in: (1) the Software, or (2) the Documentation or
09: * some other similar material which is provided with the Software (if
10: * any).
11: *
12: * Copyright 1999-2004 University of Chicago and The University of
13: * Southern California. All rights reserved.
14: */
15:
16: package org.griphyn.cPlanner.namespace.aggregator;
17:
18: /**
19: * An implementation of the Aggregator interface that takes the maximum of the
20: * profile values. In the case of either of the profile values not valid
21: * integers, the default value is picked up.
22: *
23: * @author Karan Vahi
24: * @version $Revision: 50 $
25: */
26: public class MAX extends Abstract {
27:
28: /**
29: * Returns the maximum of two values.
30: *
31: * @param oldValue the existing value for the profile.
32: * @param newValue the new value being added to the profile.
33: * @param dflt the default value to be used in case the values
34: * are not of the correct type.
35: *
36: * @return the computed value as a String.
37: */
38: public String compute(String oldValue, String newValue, String dflt) {
39: int val1 = parseInt(oldValue, dflt);
40: int val2 = parseInt(newValue, dflt);
41:
42: return (val2 > val1) ? Integer.toString(val2) : Integer
43: .toString(val1);
44: }
45: }
|