blob: 32ec96fd65f29f442ef7bf5144901b63e6a0e4b1 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ignite.internal.processors.hadoop.impl.igfs;
import java.util.Map;
import org.apache.hadoop.fs.permission.FsPermission;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.processors.igfs.IgfsUtils;
/**
* Hadoop file system properties.
*/
public class HadoopIgfsProperties {
/** Username. */
private String usrName;
/** Group name. */
private String grpName;
/** Permissions. */
private FsPermission perm;
/**
* Constructor.
*
* @param props Properties.
* @throws IgniteException In case of error.
*/
public HadoopIgfsProperties(Map<String, String> props) throws IgniteException {
if (props == null)
return;
usrName = props.get(IgfsUtils.PROP_USER_NAME);
grpName = props.get(IgfsUtils.PROP_GROUP_NAME);
String permStr = props.get(IgfsUtils.PROP_PERMISSION);
if (permStr != null) {
try {
perm = new FsPermission((short)Integer.parseInt(permStr, 8));
}
catch (NumberFormatException ignore) {
throw new IgniteException("Permissions cannot be parsed: " + permStr);
}
}
}
/**
* Get user name.
*
* @return User name.
*/
public String userName() {
return usrName;
}
/**
* Get group name.
*
* @return Group name.
*/
public String groupName() {
return grpName;
}
/**
* Get permission.
*
* @return Permission.
*/
public FsPermission permission() {
return perm;
}
}