/******************************************************************************* * Cloud Foundry * Copyright (c) [2009-2014] Pivotal Software, Inc. All Rights Reserved. * * This product is licensed to you under the Apache License, Version 2.0 (the "License"). * You may not use this product except in compliance with the License. * * This product includes a number of subcomponents with * separate copyright notices and license terms. Your use of these * subcomponents is subject to the terms and conditions of the * subcomponent's license, as noted in the LICENSE file. *******************************************************************************/ package org.cloudfoundry.identity.uaa.login.util; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.net.URL; public class FileLocator { public static File locate(String filename) throws IOException { File f = new File(filename); //try file system if (f.exists()) { return f; } //try classloader URL url = Thread.currentThread().getContextClassLoader().getResource( filename ); if ( url != null && url.getFile() != null && (new File(url.getFile()).exists()) ) { return new File(url.getFile()); } throw new FileNotFoundException( "Cannot find resource on file system or classpath: '" + filename + "'" ); } }