org.apache.brooklyn.util.text.Strings.makeValidFilename()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(9.5k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中org.apache.brooklyn.util.text.Strings.makeValidFilename()方法的一些代码示例,展示了Strings.makeValidFilename()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Strings.makeValidFilename()方法的具体详情如下:
包路径:org.apache.brooklyn.util.text.Strings
类名称:Strings
方法名:makeValidFilename

Strings.makeValidFilename介绍

[英]Returns a valid filename based on the input. A valid filename starts with the first alphanumeric character, then include all alphanumeric characters plus those in #VALID_NON_ALPHANUM_FILE_CHARS, with any runs of invalid characters being replaced by _.
[中]根据输入返回有效的文件名。有效文件名从第一个字母数字字符开始,然后包括所有字母数字字符加上#有效_非_字母数字_文件_字符中的字符,任何无效字符都将替换为#。

代码示例

代码示例来源:origin: org.apache.brooklyn/brooklyn-core

private String getPath(String subPath, String id) {
  return subPath+"/"+Strings.makeValidFilename(id);
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-core

private String toSimpleName(String name) {
  String simpleName = name.substring(name.lastIndexOf(".")+1);
  if (Strings.isBlank(simpleName)) simpleName = name.trim();
  return Strings.makeValidFilename(simpleName);
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

/** as {@link #simpleClassName(Object)} but making the result clean for use on filesystems and as java identifiers */
public static String cleanSimpleClassName(Object x) {
  return Strings.makeValidFilename(simpleClassName(x));
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

/** as {@link #simpleClassName(Object)} but making the result clean for use on filesystems and as java identifiers */
public static String cleanSimpleClassName(Class<?> x) {
  return Strings.makeValidFilename(simpleClassName(x));
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

@Test(expectedExceptions = { NullPointerException.class })
public void testMakeValidFilenameNull() {
  Strings.makeValidFilename(null);
}
@Test(expectedExceptions = { IllegalArgumentException.class })

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

public void testMakeValidFilename() {
  assertEquals("abcdef", Strings.makeValidFilename("abcdef"));
  assertEquals("abc_def", Strings.makeValidFilename("abc$$$def"));
  assertEquals("abc_def", Strings.makeValidFilename("$$$abc$$$def$$$"));
  assertEquals("a_b_c", Strings.makeValidFilename("a b c"));
  assertEquals("a.b.c", Strings.makeValidFilename("a.b.c"));
}
@Test(expectedExceptions = { NullPointerException.class })

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

@Test(expectedExceptions = { IllegalArgumentException.class })
public void testMakeValidFilenameEmpty() {
  Strings.makeValidFilename("");
}
@Test(expectedExceptions = { IllegalArgumentException.class })

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

@Test(expectedExceptions = { IllegalArgumentException.class })
public void testMakeValidFilenameBlank() {
  Strings.makeValidFilename("    \t    ");
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

/** creates a private temp file which will be deleted on exit;
 * either prefix or ext may be null; 
 * if ext is non-empty and not > 4 chars and not starting with a ., then a dot will be inserted;
 * if either name part is too long it will be shortened to prevent filesystem errors */
public static File newTempFile(String prefix, String ext) {
  String sanitizedPrefix = (Strings.isNonEmpty(prefix) ? Strings.makeValidFilename(prefix) + "-" : "");
  if (sanitizedPrefix.length()>101) sanitizedPrefix = sanitizedPrefix.substring(0, 100)+"--";
  String extWithPrecedingSeparator = (Strings.isNonEmpty(ext) ? ext.startsWith(".") || ext.length()>4 ? ext : "."+ext : "");
  if (extWithPrecedingSeparator.length()>13) sanitizedPrefix = sanitizedPrefix.substring(0, 12)+"--";
  try {
    File tempFile = File.createTempFile(sanitizedPrefix, extWithPrecedingSeparator, new File(tmp()));
    tempFile.deleteOnExit();
    return tempFile;
  } catch (IOException e) {
    throw Exceptions.propagate(e);
  }
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-utils-common

/** creates a temp dir which will be deleted on exit */
public static File newTempDir(String prefix) {
  String sanitizedPrefix = (prefix==null ? "" : Strings.makeValidFilename(prefix) + "-");
  String tmpParent = tmp();
  
  //With lots of stale temp dirs it is possible to have 
  //name collisions so we need to retry until a unique 
  //name is found
  for (int i = 0; i < TEMP_DIR_ATTEMPTS; i++) {
    String baseName = sanitizedPrefix + Identifiers.makeRandomId(4);
    File tempDir = new File(tmpParent, baseName);
    if (!tempDir.exists()) {
      if (tempDir.mkdir()) {
        Os.deleteOnExitRecursively(tempDir);
        return tempDir;
      } else {
        log.warn("Attempt to create temp dir failed " + tempDir + ". Either an IO error (disk full, no rights) or someone else created the folder after the !exists() check.");
      }
    } else {
      log.debug("Attempt to create temp dir failed, already exists " + tempDir + ". With ID of length 4 it is not unusual (15% chance) to have duplicate names at the 2000 samples mark.");
    }
  }
  throw new IllegalStateException("cannot create temporary folders in parent " + tmpParent + " after " + TEMP_DIR_ATTEMPTS + " attempts.");
}

代码示例来源:origin: io.cloudsoft.brooklyn.tosca/brooklyn-tosca-transformer

public ParsingResult<Csar> uploadSingleYaml(InputStream resourceFromUrl, String callerReferenceName) {
  try {
    String nameCleaned = Strings.makeValidFilename(callerReferenceName);
    File tmpBase = new File(tmpRoot, nameCleaned + "_" + Identifiers.makeRandomId(6));
    File tmpExpanded = new File(tmpBase, nameCleaned + "_" + Identifiers.makeRandomId(6));
    File tmpTarget = new File(tmpExpanded.toString() + ".csar.zip");
    boolean created = tmpExpanded.mkdirs();
    if (!created) {
      throw new Exception("Failed to create '" + tmpExpanded + "' when uploading yaml from " + nameCleaned);
    }
    FileUtils.copyInputStreamToFile(resourceFromUrl, new File(tmpExpanded, nameCleaned + ".yaml"));
    ArchiveBuilder.archive(tmpTarget.toString()).addDirContentsAt(tmpExpanded, "").create();
    try {
      return uploadArchive(tmpTarget, callerReferenceName);
    } finally {
      Os.deleteRecursively(tmpBase);
    }
  } catch (Exception e) {
    throw Exceptions.propagate(e);
  }
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-software-base

protected String getNodeName() {
  // (node name is needed so we can node delete it)
  
  // TODO would be better if CHEF_NODE_NAME were a freemarker template, could access entity.id, or hostname, etc,
  // in addition to supporting hard-coded node names (which is all we support so far).
  
  String nodeName = entity().getConfig(ChefConfig.CHEF_NODE_NAME);
  if (Strings.isNonBlank(nodeName)) return Strings.makeValidFilename(nodeName);
  // node name is taken from ID of this entity, if not specified
  return entity().getId();
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-software-cm-chef

protected String getNodeName() {
  // (node name is needed so we can node delete it)
  
  // TODO would be better if CHEF_NODE_NAME were a freemarker template, could access entity.id, or hostname, etc,
  // in addition to supporting hard-coded node names (which is all we support so far).
  
  String nodeName = entity().getConfig(ChefConfig.CHEF_NODE_NAME);
  if (Strings.isNonBlank(nodeName)) return Strings.makeValidFilename(nodeName);
  // node name is taken from ID of this entity, if not specified
  return entity().getId();
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-core

String safeXmlId = Strings.makeValidFilename(xmlId);
if (!Objects.equal(id, safeXmlId))
  LOG.warn("ID mismatch on "+type.toCamelCase()+", "+id+" from path, "+safeXmlId+" from xml");

代码示例来源:origin: io.cloudsoft.brooklyn.tosca/brooklyn-tosca-transformer

public ParsingResult<Csar> uploadArchive(File zipFile, String callerReferenceName) {
  try {
    String nameCleaned = Strings.makeValidFilename(callerReferenceName);
    ParsingResult<Csar> result = archiveUploadService.upload(Paths.get(zipFile.toString()));
    if (ArchiveUploadService.hasError(result, null)) {
      LOG.debug("A4C parse notes for " + nameCleaned + ":\n  " + Strings.join(result.getContext().getParsingErrors(), "\n  "));
    }
    if (ArchiveUploadService.hasError(result, ParsingErrorLevel.ERROR)) {
      // archive will not be installed in this case, so we should throw
      throw new UserFacingException("Could not parse " + callerReferenceName + " as TOSCA:\n  "
          + Strings.join(result.getContext().getParsingErrors(), "\n  "));
    }
    return result;
  } catch (Exception e) {
    throw Exceptions.propagate("Error uploading archive " + callerReferenceName, e);
  }
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-core

public ToolAbstractExecScript(Map<String,?> props) {
  this.props = props;
  this.separator = getOptionalVal(props, PROP_SEPARATOR);
  this.out = getOptionalVal(props, PROP_OUT_STREAM);
  this.err = getOptionalVal(props, PROP_ERR_STREAM);
  
  this.scriptDir = getOptionalVal(props, PROP_SCRIPT_DIR);
  this.runAsRoot = Boolean.TRUE.equals(getOptionalVal(props, PROP_RUN_AS_ROOT));
  this.authSudo = Boolean.TRUE.equals(getOptionalVal(props, PROP_AUTH_SUDO));
  this.noExtraOutput = Boolean.TRUE.equals(getOptionalVal(props, PROP_NO_EXTRA_OUTPUT));
  this.noDeleteAfterExec = Boolean.TRUE.equals(getOptionalVal(props, PROP_NO_DELETE_SCRIPT));
  this.password = getOptionalVal(props, PROP_PASSWORD);
  this.execTimeout = getOptionalVal(props, PROP_EXEC_TIMEOUT);
  
  String summary = getOptionalVal(props, PROP_SUMMARY);
  if (summary!=null) {
    summary = Strings.makeValidFilename(summary);
    if (summary.length()>30) 
      summary = summary.substring(0,30);
  }
  this.scriptNameWithoutExtension = "brooklyn-"+
      Time.makeDateStampString()+"-"+Identifiers.makeRandomId(4)+
      (Strings.isBlank(summary) ? "" : "-"+summary);
  this.scriptPath = Os.mergePathsUnix(scriptDir, scriptNameWithoutExtension+".sh");
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-software-base

Urls.mergePaths(chefDirectory, "tmp-"+Strings.makeValidFilename(cookbookName)+"-"+Identifiers.makeRandomId(4));

代码示例来源:origin: org.apache.brooklyn/brooklyn-software-cm-chef

Urls.mergePaths(chefDirectory, "tmp-"+Strings.makeValidFilename(cookbookName)+"-"+Identifiers.makeRandomId(4));

相关文章