[
https://issues.apache.org/jira/browse/TWILL-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15436193#comment-15436193
]
ASF GitHub Bot commented on TWILL-188:
--------------------------------------
Github user chtyim commented on a diff in the pull request:
https://github.com/apache/twill/pull/3#discussion_r76174570
--- Diff:
twill-common/src/main/java/org/apache/twill/filesystem/LocalLocation.java ---
@@ -255,4 +288,53 @@ public int hashCode() {
public String toString() {
return file.toString();
}
+
+ /**
+ * Ensures the given {@link File} is a directory. If it doesn't exist,
it will be created.
+ */
+ private void ensureDirectory(File dir) throws IOException {
+ // Check, create, check to resolve race conditions if there are
concurrent creation of the directory.
+ if (!dir.isDirectory() && !dir.mkdirs() && !dir.isDirectory()) {
+ throw new IOException("Failed to create directory " + dir);
+ }
+ }
+
+ /**
+ * Parses the given permission to a set of {@link PosixFilePermission}.
+ *
+ * @param permission the permission as passed to the {@link
#createNew(String)} or {@link #getOutputStream(String)}
+ * methods.
+ * @return a new set of {@link PosixFilePermission}.
+ */
+ private Set<PosixFilePermission> parsePermissions(String permission) {
+ Set<PosixFilePermission> permissions;
+ if (permission.length() == 3) {
+ permissions = parseNumericPermissions(permission);
+ } else if (permission.length() == 9) {
+ permissions = PosixFilePermissions.fromString(permission);
+ } else {
+ throw new IllegalArgumentException("Invalid permission " +
permission +
+ ". Permission should either be
a three digits or nine characters string.");
--- End diff --
fixed
> LocationFactory should have options to accept permission for create
> -------------------------------------------------------------------
>
> Key: TWILL-188
> URL: https://issues.apache.org/jira/browse/TWILL-188
> Project: Apache Twill
> Issue Type: Improvement
> Reporter: Shankar Selvam
> Assignee: Terence Yim
> Fix For: 0.8.0
>
>
> Currently LocationFactory and Location API doesn't have a way to specify the
> permission to use for creating the path. we need a way to specify the
> permission for create and other operations on Location
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)