source: trunk/CrossPare/src/de/ugoe/cs/cpdp/execution/RelaxedCrossProjectExperiment.java @ 83

Last change on this file since 83 was 67, checked in by sherbold, 9 years ago
  • Property svn:mime-type set to text/plain
File size: 2.0 KB
Line 
1// Copyright 2015 Georg-August-Universität Göttingen, Germany
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15package de.ugoe.cs.cpdp.execution;
16
17import de.ugoe.cs.cpdp.ExperimentConfiguration;
18import de.ugoe.cs.cpdp.versions.SoftwareVersion;
19
20/**
21 * <p>
22 * Implements a cross project experiment where all versions not from the same project are used
23 * together with all older version from the test product.
24 * </p>
25 *
26 * @author Steffen Herbold
27 */
28public class RelaxedCrossProjectExperiment extends AbstractCrossProjectExperiment {
29
30    /**
31     * Constructor. Creates a new experiment based on a configuration.
32     *
33     * @param config
34     *            configuration of the experiment
35     */
36    public RelaxedCrossProjectExperiment(ExperimentConfiguration config) {
37        super(config);
38    }
39
40    /*
41     * (non-Javadoc)
42     *
43     * @see
44     * de.ugoe.cs.cpdp.execution.AbstractCrossProjectExperiment#isTrainingVersion(de.ugoe.cs.cpdp.
45     * versions.SoftwareVersion, de.ugoe.cs.cpdp.versions.SoftwareVersion)
46     */
47    @Override
48    protected boolean isTrainingVersion(SoftwareVersion trainingVersion,
49                                        SoftwareVersion testVersion)
50    {
51        if (trainingVersion.getProject().equals(testVersion.getProject())) {
52            if (trainingVersion.compareTo(testVersion) < 0) {
53                // only add if older
54                return true;
55            }
56        }
57        else {
58            return true;
59        }
60        return false;
61    }
62}
Note: See TracBrowser for help on using the repository browser.