1 //
2 // ========================================================================
3 // Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd.
4 // ------------------------------------------------------------------------
5 // All rights reserved. This program and the accompanying materials
6 // are made available under the terms of the Eclipse Public License v1.0
7 // and Apache License v2.0 which accompanies this distribution.
8 //
9 // The Eclipse Public License is available at
10 // http://www.eclipse.org/legal/epl-v10.html
11 //
12 // The Apache License v2.0 is available at
13 // http://www.opensource.org/licenses/apache2.0.php
14 //
15 // You may elect to redistribute this code under either of these licenses.
16 // ========================================================================
17 //
18
19 package org.eclipse.jetty.start.fileinits;
20
21 import java.io.IOException;
22 import java.net.URI;
23 import java.nio.file.Path;
24
25 import org.eclipse.jetty.start.BaseHome;
26 import org.eclipse.jetty.start.FS;
27 import org.eclipse.jetty.start.FileInitializer;
28 import org.eclipse.jetty.start.StartLog;
29
30 /**
31 * In a start testing scenario, it is often not important to actually download
32 * or initialize a file, this implementation is merely a no-op for the
33 * {@link FileInitializer}
34 */
35 public class TestFileInitializer extends FileInitializer
36 {
37 public TestFileInitializer(BaseHome basehome)
38 {
39 super(basehome);
40 }
41
42 @Override
43 public boolean isApplicable(URI uri)
44 {
45 return true;
46 }
47
48
49 @Override
50 public boolean create(URI uri, String location) throws IOException
51 {
52 Path destination = getDestination(uri,location);
53 if (destination!=null)
54 {
55 if (location.endsWith("/"))
56 FS.ensureDirectoryExists(destination);
57 else
58 FS.ensureDirectoryExists(destination.getParent());
59 }
60
61 StartLog.log("TESTING MODE","Skipping download of " + uri);
62 return Boolean.TRUE;
63 }
64 }