HADOOP-8944. Shell command fs -count should include human readable option (Jonathan Allen via aw) (continued)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1617802 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
195961a7c1
commit
6ab25dfcd9
@ -0,0 +1,248 @@
|
|||||||
|
/**
|
||||||
|
* 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.hadoop.fs;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
|
import java.io.DataInput;
|
||||||
|
import java.io.DataOutput;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mockito.InOrder;
|
||||||
|
|
||||||
|
public class TestContentSummary {
|
||||||
|
|
||||||
|
// check the empty constructor correctly initialises the object
|
||||||
|
@Test
|
||||||
|
public void testConstructorEmpty() {
|
||||||
|
ContentSummary contentSummary = new ContentSummary();
|
||||||
|
assertEquals("getLength", 0, contentSummary.getLength());
|
||||||
|
assertEquals("getFileCount", 0, contentSummary.getFileCount());
|
||||||
|
assertEquals("getDirectoryCount", 0, contentSummary.getDirectoryCount());
|
||||||
|
assertEquals("getQuota", 0, contentSummary.getQuota());
|
||||||
|
assertEquals("getSpaceConsumed", 0, contentSummary.getSpaceConsumed());
|
||||||
|
assertEquals("getSpaceQuota", 0, contentSummary.getSpaceQuota());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the full constructor with quota information
|
||||||
|
@Test
|
||||||
|
public void testConstructorWithQuota() {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 44444;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = 66666;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
assertEquals("getLength", length, contentSummary.getLength());
|
||||||
|
assertEquals("getFileCount", fileCount, contentSummary.getFileCount());
|
||||||
|
assertEquals("getDirectoryCount", directoryCount,
|
||||||
|
contentSummary.getDirectoryCount());
|
||||||
|
assertEquals("getQuota", quota, contentSummary.getQuota());
|
||||||
|
assertEquals("getSpaceConsumed", spaceConsumed,
|
||||||
|
contentSummary.getSpaceConsumed());
|
||||||
|
assertEquals("getSpaceQuota", spaceQuota, contentSummary.getSpaceQuota());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the constructor with quota information
|
||||||
|
@Test
|
||||||
|
public void testConstructorNoQuota() {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount);
|
||||||
|
assertEquals("getLength", length, contentSummary.getLength());
|
||||||
|
assertEquals("getFileCount", fileCount, contentSummary.getFileCount());
|
||||||
|
assertEquals("getDirectoryCount", directoryCount,
|
||||||
|
contentSummary.getDirectoryCount());
|
||||||
|
assertEquals("getQuota", -1, contentSummary.getQuota());
|
||||||
|
assertEquals("getSpaceConsumed", length, contentSummary.getSpaceConsumed());
|
||||||
|
assertEquals("getSpaceQuota", -1, contentSummary.getSpaceQuota());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the write method
|
||||||
|
@Test
|
||||||
|
public void testWrite() throws IOException {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 44444;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = 66666;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
|
||||||
|
DataOutput out = mock(DataOutput.class);
|
||||||
|
InOrder inOrder = inOrder(out);
|
||||||
|
|
||||||
|
contentSummary.write(out);
|
||||||
|
inOrder.verify(out).writeLong(length);
|
||||||
|
inOrder.verify(out).writeLong(fileCount);
|
||||||
|
inOrder.verify(out).writeLong(directoryCount);
|
||||||
|
inOrder.verify(out).writeLong(quota);
|
||||||
|
inOrder.verify(out).writeLong(spaceConsumed);
|
||||||
|
inOrder.verify(out).writeLong(spaceQuota);
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the readFields method
|
||||||
|
@Test
|
||||||
|
public void testReadFields() throws IOException {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 44444;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = 66666;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary();
|
||||||
|
|
||||||
|
DataInput in = mock(DataInput.class);
|
||||||
|
when(in.readLong()).thenReturn(length).thenReturn(fileCount)
|
||||||
|
.thenReturn(directoryCount).thenReturn(quota).thenReturn(spaceConsumed)
|
||||||
|
.thenReturn(spaceQuota);
|
||||||
|
|
||||||
|
contentSummary.readFields(in);
|
||||||
|
assertEquals("getLength", length, contentSummary.getLength());
|
||||||
|
assertEquals("getFileCount", fileCount, contentSummary.getFileCount());
|
||||||
|
assertEquals("getDirectoryCount", directoryCount,
|
||||||
|
contentSummary.getDirectoryCount());
|
||||||
|
assertEquals("getQuota", quota, contentSummary.getQuota());
|
||||||
|
assertEquals("getSpaceConsumed", spaceConsumed,
|
||||||
|
contentSummary.getSpaceConsumed());
|
||||||
|
assertEquals("getSpaceQuota", spaceQuota, contentSummary.getSpaceQuota());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the header with quotas
|
||||||
|
@Test
|
||||||
|
public void testGetHeaderWithQuota() {
|
||||||
|
String header = " name quota rem name quota space quota "
|
||||||
|
+ "rem space quota directories files bytes ";
|
||||||
|
assertEquals(header, ContentSummary.getHeader(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the header without quotas
|
||||||
|
@Test
|
||||||
|
public void testGetHeaderNoQuota() {
|
||||||
|
String header = " directories files bytes ";
|
||||||
|
assertEquals(header, ContentSummary.getHeader(false));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the toString method with quotas
|
||||||
|
@Test
|
||||||
|
public void testToStringWithQuota() {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 44444;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = 66665;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
String expected = " 44444 -11111 66665 11110"
|
||||||
|
+ " 33333 22222 11111 ";
|
||||||
|
assertEquals(expected, contentSummary.toString(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the toString method with quotas
|
||||||
|
@Test
|
||||||
|
public void testToStringNoQuota() {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount);
|
||||||
|
String expected = " none inf none"
|
||||||
|
+ " inf 33333 22222 11111 ";
|
||||||
|
assertEquals(expected, contentSummary.toString(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the toString method with quotas
|
||||||
|
@Test
|
||||||
|
public void testToStringNoShowQuota() {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 44444;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = 66665;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
String expected = " 33333 22222 11111 ";
|
||||||
|
assertEquals(expected, contentSummary.toString(false));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the toString method (defaults to with quotas)
|
||||||
|
@Test
|
||||||
|
public void testToString() {
|
||||||
|
long length = 11111;
|
||||||
|
long fileCount = 22222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 44444;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = 66665;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
String expected = " 44444 -11111 66665"
|
||||||
|
+ " 11110 33333 22222 11111 ";
|
||||||
|
assertEquals(expected, contentSummary.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the toString method with quotas
|
||||||
|
@Test
|
||||||
|
public void testToStringHumanWithQuota() {
|
||||||
|
long length = Long.MAX_VALUE;
|
||||||
|
long fileCount = 222222222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 222256578;
|
||||||
|
long spaceConsumed = 1073741825;
|
||||||
|
long spaceQuota = 1;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
String expected = " 212.0 M 1023 1 "
|
||||||
|
+ " -1 G 32.6 K 211.9 M 8.0 E ";
|
||||||
|
assertEquals(expected, contentSummary.toString(true, true));
|
||||||
|
}
|
||||||
|
|
||||||
|
// check the toString method with quotas
|
||||||
|
@Test
|
||||||
|
public void testToStringHumanNoShowQuota() {
|
||||||
|
long length = Long.MAX_VALUE;
|
||||||
|
long fileCount = 222222222;
|
||||||
|
long directoryCount = 33333;
|
||||||
|
long quota = 222256578;
|
||||||
|
long spaceConsumed = 55555;
|
||||||
|
long spaceQuota = Long.MAX_VALUE;
|
||||||
|
|
||||||
|
ContentSummary contentSummary = new ContentSummary(length, fileCount,
|
||||||
|
directoryCount, quota, spaceConsumed, spaceQuota);
|
||||||
|
String expected = " 32.6 K 211.9 M 8.0 E ";
|
||||||
|
assertEquals(expected, contentSummary.toString(false, true));
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,270 @@
|
|||||||
|
/**
|
||||||
|
* 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.hadoop.fs.shell;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
|
import java.io.PrintStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
|
import org.apache.hadoop.conf.Configuration;
|
||||||
|
import org.apache.hadoop.fs.ContentSummary;
|
||||||
|
import org.apache.hadoop.fs.FileStatus;
|
||||||
|
import org.apache.hadoop.fs.FileSystem;
|
||||||
|
import org.apache.hadoop.fs.FilterFileSystem;
|
||||||
|
import org.apache.hadoop.fs.Path;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.BeforeClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JUnit test class for {@link org.apache.hadoop.fs.shell.Count}
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class TestCount {
|
||||||
|
private static final String WITH_QUOTAS = "Content summary with quotas";
|
||||||
|
private static final String NO_QUOTAS = "Content summary without quotas";
|
||||||
|
private static final String HUMAN = "human: ";
|
||||||
|
private static final String BYTES = "bytes: ";
|
||||||
|
private static Configuration conf;
|
||||||
|
private static FileSystem mockFs;
|
||||||
|
private static FileStatus fileStat;
|
||||||
|
private static ContentSummary mockCs;
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public static void setup() {
|
||||||
|
conf = new Configuration();
|
||||||
|
conf.setClass("fs.mockfs.impl", MockFileSystem.class, FileSystem.class);
|
||||||
|
mockFs = mock(FileSystem.class);
|
||||||
|
fileStat = mock(FileStatus.class);
|
||||||
|
mockCs = mock(ContentSummary.class);
|
||||||
|
when(fileStat.isFile()).thenReturn(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void resetMock() {
|
||||||
|
reset(mockFs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void processOptionsHumanReadable() {
|
||||||
|
LinkedList<String> options = new LinkedList<String>();
|
||||||
|
options.add("-h");
|
||||||
|
options.add("dummy");
|
||||||
|
Count count = new Count();
|
||||||
|
count.processOptions(options);
|
||||||
|
assertFalse(count.isShowQuotas());
|
||||||
|
assertTrue(count.isHumanReadable());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void processOptionsAll() {
|
||||||
|
LinkedList<String> options = new LinkedList<String>();
|
||||||
|
options.add("-q");
|
||||||
|
options.add("-h");
|
||||||
|
options.add("dummy");
|
||||||
|
Count count = new Count();
|
||||||
|
count.processOptions(options);
|
||||||
|
assertTrue(count.isShowQuotas());
|
||||||
|
assertTrue(count.isHumanReadable());
|
||||||
|
}
|
||||||
|
|
||||||
|
// check quotas are reported correctly
|
||||||
|
@Test
|
||||||
|
public void processPathShowQuotas() throws Exception {
|
||||||
|
Path path = new Path("mockfs:/test");
|
||||||
|
|
||||||
|
when(mockFs.getFileStatus(eq(path))).thenReturn(fileStat);
|
||||||
|
PathData pathData = new PathData(path.toString(), conf);
|
||||||
|
|
||||||
|
PrintStream out = mock(PrintStream.class);
|
||||||
|
|
||||||
|
Count count = new Count();
|
||||||
|
count.out = out;
|
||||||
|
|
||||||
|
LinkedList<String> options = new LinkedList<String>();
|
||||||
|
options.add("-q");
|
||||||
|
options.add("dummy");
|
||||||
|
count.processOptions(options);
|
||||||
|
|
||||||
|
count.processPath(pathData);
|
||||||
|
verify(out).println(BYTES + WITH_QUOTAS + path.toString());
|
||||||
|
verifyNoMoreInteractions(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
// check counts without quotas are reported correctly
|
||||||
|
@Test
|
||||||
|
public void processPathNoQuotas() throws Exception {
|
||||||
|
Path path = new Path("mockfs:/test");
|
||||||
|
|
||||||
|
when(mockFs.getFileStatus(eq(path))).thenReturn(fileStat);
|
||||||
|
PathData pathData = new PathData(path.toString(), conf);
|
||||||
|
|
||||||
|
PrintStream out = mock(PrintStream.class);
|
||||||
|
|
||||||
|
Count count = new Count();
|
||||||
|
count.out = out;
|
||||||
|
|
||||||
|
LinkedList<String> options = new LinkedList<String>();
|
||||||
|
options.add("dummy");
|
||||||
|
count.processOptions(options);
|
||||||
|
|
||||||
|
count.processPath(pathData);
|
||||||
|
verify(out).println(BYTES + NO_QUOTAS + path.toString());
|
||||||
|
verifyNoMoreInteractions(out);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void processPathShowQuotasHuman() throws Exception {
|
||||||
|
Path path = new Path("mockfs:/test");
|
||||||
|
|
||||||
|
when(mockFs.getFileStatus(eq(path))).thenReturn(fileStat);
|
||||||
|
PathData pathData = new PathData(path.toString(), conf);
|
||||||
|
|
||||||
|
PrintStream out = mock(PrintStream.class);
|
||||||
|
|
||||||
|
Count count = new Count();
|
||||||
|
count.out = out;
|
||||||
|
|
||||||
|
LinkedList<String> options = new LinkedList<String>();
|
||||||
|
options.add("-q");
|
||||||
|
options.add("-h");
|
||||||
|
options.add("dummy");
|
||||||
|
count.processOptions(options);
|
||||||
|
|
||||||
|
count.processPath(pathData);
|
||||||
|
verify(out).println(HUMAN + WITH_QUOTAS + path.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void processPathNoQuotasHuman() throws Exception {
|
||||||
|
Path path = new Path("mockfs:/test");
|
||||||
|
|
||||||
|
when(mockFs.getFileStatus(eq(path))).thenReturn(fileStat);
|
||||||
|
PathData pathData = new PathData(path.toString(), conf);
|
||||||
|
|
||||||
|
PrintStream out = mock(PrintStream.class);
|
||||||
|
|
||||||
|
Count count = new Count();
|
||||||
|
count.out = out;
|
||||||
|
|
||||||
|
LinkedList<String> options = new LinkedList<String>();
|
||||||
|
options.add("-h");
|
||||||
|
options.add("dummy");
|
||||||
|
count.processOptions(options);
|
||||||
|
|
||||||
|
count.processPath(pathData);
|
||||||
|
verify(out).println(HUMAN + NO_QUOTAS + path.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getCommandName() {
|
||||||
|
Count count = new Count();
|
||||||
|
String actual = count.getCommandName();
|
||||||
|
String expected = "count";
|
||||||
|
assertEquals("Count.getCommandName", expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void isDeprecated() {
|
||||||
|
Count count = new Count();
|
||||||
|
boolean actual = count.isDeprecated();
|
||||||
|
boolean expected = false;
|
||||||
|
assertEquals("Count.isDeprecated", expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getReplacementCommand() {
|
||||||
|
Count count = new Count();
|
||||||
|
String actual = count.getReplacementCommand();
|
||||||
|
String expected = null;
|
||||||
|
assertEquals("Count.getReplacementCommand", expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getName() {
|
||||||
|
Count count = new Count();
|
||||||
|
String actual = count.getName();
|
||||||
|
String expected = "count";
|
||||||
|
assertEquals("Count.getName", expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getUsage() {
|
||||||
|
Count count = new Count();
|
||||||
|
String actual = count.getUsage();
|
||||||
|
String expected = "-count [-q] [-h] <path> ...";
|
||||||
|
assertEquals("Count.getUsage", expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// mock content system
|
||||||
|
static class MockContentSummary extends ContentSummary {
|
||||||
|
|
||||||
|
public MockContentSummary() {}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString(boolean qOption, boolean hOption) {
|
||||||
|
if (qOption) {
|
||||||
|
if (hOption) {
|
||||||
|
return(HUMAN + WITH_QUOTAS);
|
||||||
|
} else {
|
||||||
|
return(BYTES + WITH_QUOTAS);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (hOption) {
|
||||||
|
return(HUMAN + NO_QUOTAS);
|
||||||
|
} else {
|
||||||
|
return(BYTES + NO_QUOTAS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// mock file system for use in testing
|
||||||
|
static class MockFileSystem extends FilterFileSystem {
|
||||||
|
Configuration conf;
|
||||||
|
|
||||||
|
MockFileSystem() {
|
||||||
|
super(mockFs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initialize(URI uri, Configuration conf) {
|
||||||
|
this.conf = conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Path makeQualified(Path path) {
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ContentSummary getContentSummary(Path f) throws IOException {
|
||||||
|
return new MockContentSummary();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Configuration getConf() {
|
||||||
|
return conf;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user