本文整理了Java中org.apache.brooklyn.util.text.Strings.makeValidFilename()
方法的一些代码示例,展示了Strings.makeValidFilename()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Strings.makeValidFilename()
方法的具体详情如下:
包路径:org.apache.brooklyn.util.text.Strings
类名称: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));
内容来源于网络,如有侵权,请联系作者删除!