HADOOP-18100: Change scope of inner classes in InodeTree to make them accessible outside package

Fixes #3950

Signed-off-by: Owen O'Malley <omalley@apache.org>

Cherry-picked from 3684c7f6 by Owen O'Malley
This commit is contained in:
Abhishek Das 2022-01-31 15:19:43 -08:00 committed by Owen O'Malley
parent 87ff57765a
commit 8b03514eaf
2 changed files with 25 additions and 7 deletions

View File

@ -20,15 +20,17 @@
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
/**
* File system instance getter.
*/
@Private
class FsGetter {
@InterfaceAudience.LimitedPrivate({"Common"})
@InterfaceStability.Unstable
public class FsGetter {
/**
* Gets new file system instance of given uri.

View File

@ -81,7 +81,7 @@ enum ResultKind {
private List<RegexMountPoint<T>> regexMountPointList =
new ArrayList<RegexMountPoint<T>>();
static class MountPoint<T> {
public static class MountPoint<T> {
String src;
INodeLink<T> target;
@ -89,6 +89,22 @@ static class MountPoint<T> {
src = srcPath;
target = mountLink;
}
/**
* Returns the source of mount point.
* @return The source
*/
public String getSource() {
return this.src;
}
/**
* Returns the target link.
* @return The target INode link
*/
public INodeLink<T> getTarget() {
return this.target;
}
}
/**
@ -256,7 +272,7 @@ enum LinkType {
* For a merge, each target is checked to be dir when created but if target
* is changed later it is then ignored (a dir with null entries)
*/
static class INodeLink<T> extends INode<T> {
public static class INodeLink<T> extends INode<T> {
final URI[] targetDirLinkList;
private T targetFileSystem; // file system object created from the link.
// Function to initialize file system. Only applicable for simple links
@ -290,7 +306,7 @@ static class INodeLink<T> extends INode<T> {
* Get the target of the link. If a merge link then it returned
* as "," separated URI list.
*/
Path getTargetLink() {
public Path getTargetLink() {
StringBuilder result = new StringBuilder(targetDirLinkList[0].toString());
// If merge link, use "," as separator between the merged URIs
for (int i = 1; i < targetDirLinkList.length; ++i) {
@ -933,7 +949,7 @@ protected ResolveResult<T> buildResolveResultForRegexMountPoint(
}
}
List<MountPoint<T>> getMountPoints() {
public List<MountPoint<T>> getMountPoints() {
return mountPoints;
}