Java源码示例:io.vertx.core.file.impl.FileResolver

示例1
@Test
public void testCreateVertxWithFileCPResolving() {
  // Prepare
  ArchaiusUtils.resetConfig();
  String cacheDirBase = System.getProperty(FileResolver.CACHE_DIR_BASE_PROP_NAME,
      System.getProperty("java.io.tmpdir", ".") + File.separator + "vertx-cache");
  File file = new File(cacheDirBase);

  // create .vertx folder
  FileUtils.deleteQuietly(file);
  Assert.assertFalse(file.exists());
  ArchaiusUtils.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, false);
  VertxUtils.getOrCreateVertxByName("testCreateVertxWithFileCPResolvingFalse", null);
  Assert.assertTrue(file.exists());
  VertxUtils.blockCloseVertxByName("testCreateVertxWithFileCPResolvingFalse");

  // don't create .vertx folder
  FileUtils.deleteQuietly(file);
  Assert.assertFalse(file.exists());
  ArchaiusUtils.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, true);
  VertxUtils.getOrCreateVertxByName("testCreateVertxWithFileCPResolvingTrue", null);
  Assert.assertFalse(file.exists());
  VertxUtils.blockCloseVertxByName("testCreateVertxWithFileCPResolvingTrue");

  ArchaiusUtils.resetConfig();
}
 
示例2
private URL tryResolveFile(String path) {
    FileSystem fileSystem = getVertx().fileSystem();
    String relativePath = makePathRelative(path);
    if (fileSystem.existsBlocking(relativePath)) {
        try {
            return new FileResolver()
                .resolveFile(relativePath).toURI().toURL();
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
    return null;
}
 
示例3
/**
 * 获得模板的路径
 * 
 * @return
 */
public String getTemplateRoot() {
	if (PathUtil.isJarEnv()) {
		FileResolver fileResolver = new FileResolver();
		File file = fileResolver.resolveFile(new File(PathUtil.getPathString("templates")).getPath());
		return (file.getPath().startsWith("/") ? "" : "/") + file.getPath();
	} else {
		return "target/classes/templates";
	}

}
 
示例4
private JsonObject loadOptionsFile(String configPath, FileResolver fileResolver) {
  File file = fileResolver.resolveFile(configPath);
  try (Scanner scanner = new Scanner(file)) {
    scanner.useDelimiter("\\A");
    String metricsConfigString = scanner.next();

    return new JsonObject(metricsConfigString);
  } catch (IOException ioe) {
    logger.error("Error while reading metrics config file", ioe);
  } catch (DecodeException de) {
    logger.error("Error while decoding metrics config file into JSON", de);
  }

  return new JsonObject();
}
 
示例5
/**
 * Lambda provides /tmp for temporary files. Set vertx cache dir
 */
@BuildStep
void setTempDir(BuildProducer<SystemPropertyBuildItem> systemProperty) {
    systemProperty.produce(new SystemPropertyBuildItem(FileResolver.CACHE_DIR_BASE_PROP_NAME, "/tmp"));
}
 
示例6
/**
 * 配置vertx的文件缓存功能,默认关闭
 */
protected static void configureVertxFileCaching(VertxOptions vertxOptions) {
  boolean disableFileCPResolving = DynamicPropertyFactory.getInstance()
      .getBooleanProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, true).get();
  vertxOptions.getFileSystemOptions().setClassPathResolvingEnabled(!disableFileCPResolving);
}
 
示例7
private static void setVertxProperties() {
    System.setProperty(FileResolver.DISABLE_FILE_CACHING_PROP_NAME, "true");
    System.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, "true");
    System.setProperty(FileResolver.CACHE_DIR_BASE_PROP_NAME, "./" + TEST_DIR + "/.vertx");
}
 
示例8
private static void setVertxProperties() {
    System.setProperty(FileResolver.DISABLE_FILE_CACHING_PROP_NAME, "true");
    System.setProperty(FileResolver.DISABLE_CP_RESOLVING_PROP_NAME, "true");
    System.setProperty(FileResolver.CACHE_DIR_BASE_PROP_NAME,
            "./" + org.lealone.test.TestBase.TEST_DIR + "/.vertx");
}