1f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com/*
2f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * Copyright (C) 2011 The Android Open Source Project
3f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com *
4f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * Licensed under the Apache License, Version 2.0 (the "License");
5f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * you may not use this file except in compliance with the License.
6f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * You may obtain a copy of the License at
7f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com *
8f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com *      http://www.apache.org/licenses/LICENSE-2.0
9f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com *
10f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * Unless required by applicable law or agreed to in writing, software
11f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * distributed under the License is distributed on an "AS IS" BASIS,
12f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * See the License for the specific language governing permissions and
14f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com * limitations under the License.
15f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com */
16f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com
17c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.compackage vogar;
18c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com
19c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.comimport java.io.File;
20c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.comimport java.io.FileFilter;
21c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com
22c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com/**
23c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com * Selects files to be kept from a test run.
24c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com */
25c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.compublic final class RetrievedFilesFilter implements FileFilter {
26f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com    private final boolean profile;
27f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com    private final File profileFile;
28f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com
29f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com    public RetrievedFilesFilter(boolean profile, File profileFile) {
30f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com        this.profile = profile;
31f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com        this.profileFile = profileFile;
32f83be5e4273263df2bb9ef609946b911695b3996jessewilson@google.com    }
331bdeb9dd8f1ab3f308c285729af007ae8970425bbdc@google.com
34c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com    @Override public boolean accept(File file) {
350eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com        if (file.getName().equals("prefs.xml")) {
360eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com            return false;
370eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com        }
380eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com        if (file.getName().endsWith(".xml")
390eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com                || file.getName().equals("caliper-results")
400eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com                || file.getName().endsWith(".json")
410eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com                || (profile && file.getName().equals(profileFile.getName()))) {
420eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com            return true;
430eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com        }
440eb0936e90bf11463c8ee937ca996d7bd654a098jessewilson@google.com        return false;
45c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com    }
46c99bff8dc6970500c4b3670a68453e120b0014b1jessewilson@google.com}
47