use of org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList in project druid by druid-io.
the class IndexIOTest method constructionFeeder.
@Parameterized.Parameters
public static Iterable<Object[]> constructionFeeder() {
final Map<String, Object> map = ImmutableMap.<String, Object>of();
final Map<String, Object> map00 = ImmutableMap.<String, Object>of("dim0", ImmutableList.<String>of("dim00", "dim01"));
final Map<String, Object> map10 = ImmutableMap.<String, Object>of("dim1", "dim10");
final Map<String, Object> map0null = new HashMap<>();
map0null.put("dim0", null);
final Map<String, Object> map1null = new HashMap<>();
map1null.put("dim1", null);
final Map<String, Object> mapAll = ImmutableMap.<String, Object>of("dim0", ImmutableList.<String>of("dim00", "dim01"), "dim1", "dim10");
final List<Map<String, Object>> maps = ImmutableList.of(map, map00, map10, map0null, map1null, mapAll);
return Iterables.<Object[]>concat(// First iterable tests permutations of the maps which are expected to be equal
Iterables.<Object[]>concat(new Iterable<Iterable<Object[]>>() {
@Override
public Iterator<Iterable<Object[]>> iterator() {
return new Iterator<Iterable<Object[]>>() {
long nextBitset = 1L;
@Override
public boolean hasNext() {
return nextBitset < (1L << maps.size());
}
@Override
public Iterable<Object[]> next() {
final BitSet bitset = BitSet.valueOf(new long[] { nextBitset++ });
final List<Map<String, Object>> myMaps = filterByBitset(maps, bitset);
return Collections2.transform(Collections2.permutations(myMaps), new Function<List<Map<String, Object>>, Object[]>() {
@Nullable
@Override
public Object[] apply(List<Map<String, Object>> input) {
return new Object[] { input, input, null };
}
});
}
@Override
public void remove() {
throw new UOE("Remove not suported");
}
};
}
}), // Second iterable tests combinations of the maps which may or may not be equal
Iterables.<Object[]>concat(new Iterable<Iterable<Object[]>>() {
@Override
public Iterator<Iterable<Object[]>> iterator() {
return new Iterator<Iterable<Object[]>>() {
long nextMap1Bits = 1L;
@Override
public boolean hasNext() {
return nextMap1Bits < (1L << maps.size());
}
@Override
public Iterable<Object[]> next() {
final BitSet bitset1 = BitSet.valueOf(new long[] { nextMap1Bits++ });
final List<Map<String, Object>> maplist1 = filterByBitset(maps, bitset1);
return new Iterable<Object[]>() {
@Override
public Iterator<Object[]> iterator() {
return new Iterator<Object[]>() {
long nextMap2Bits = 1L;
@Override
public boolean hasNext() {
return nextMap2Bits < (1L << maps.size());
}
@Override
public Object[] next() {
final List<Map<String, Object>> maplist2 = filterByBitset(maps, BitSet.valueOf(new long[] { nextMap2Bits++ }));
return new Object[] { maplist1, maplist2, filterNullValues(maplist1).equals(filterNullValues(maplist2)) ? null : SegmentValidationException.class };
}
@Override
public void remove() {
throw new UOE("remove not supported");
}
};
}
};
}
@Override
public void remove() {
throw new UOE("Remove not supported");
}
};
}
}));
}
use of org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList in project hbase by apache.
the class TestStripeCompactionPolicy method createStripesWithFiles.
/**
* This method actually does all the work.
*/
private static StripeInformationProvider createStripesWithFiles(List<byte[]> boundaries, List<List<StoreFile>> stripeFiles, List<StoreFile> l0Files) throws Exception {
ArrayList<ImmutableList<StoreFile>> stripes = new ArrayList<>();
ArrayList<byte[]> boundariesList = new ArrayList<>();
StripeInformationProvider si = mock(StripeInformationProvider.class);
if (!stripeFiles.isEmpty()) {
assert stripeFiles.size() == (boundaries.size() + 1);
boundariesList.add(OPEN_KEY);
for (int i = 0; i <= boundaries.size(); ++i) {
byte[] startKey = ((i == 0) ? OPEN_KEY : boundaries.get(i - 1));
byte[] endKey = ((i == boundaries.size()) ? OPEN_KEY : boundaries.get(i));
boundariesList.add(endKey);
for (StoreFile sf : stripeFiles.get(i)) {
setFileStripe(sf, startKey, endKey);
}
stripes.add(ImmutableList.copyOf(stripeFiles.get(i)));
when(si.getStartRow(eq(i))).thenReturn(startKey);
when(si.getEndRow(eq(i))).thenReturn(endKey);
}
}
ConcatenatedLists<StoreFile> sfs = new ConcatenatedLists<>();
sfs.addAllSublists(stripes);
sfs.addSublist(l0Files);
when(si.getStorefiles()).thenReturn(sfs);
when(si.getStripes()).thenReturn(stripes);
when(si.getStripeBoundaries()).thenReturn(boundariesList);
when(si.getStripeCount()).thenReturn(stripes.size());
when(si.getLevel0Files()).thenReturn(l0Files);
return si;
}
use of org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList in project buck by facebook.
the class AbstractPrebuiltCxxLibraryGroupDescription method getStaticLinkArgs.
/**
* @return the link args formed from the user-provided static link line after resolving library
* macro references.
*/
private Iterable<Arg> getStaticLinkArgs(BuildTarget target, ImmutableList<SourcePath> libs, ImmutableList<String> args) {
ImmutableList.Builder<Arg> builder = ImmutableList.builder();
for (String arg : args) {
Optional<Pair<String, String>> libRef = getLibRef(ImmutableSet.of(LIB_MACRO), arg);
if (libRef.isPresent()) {
int index;
try {
index = Integer.parseInt(libRef.get().getSecond());
} catch (NumberFormatException e) {
throw new HumanReadableException("%s: ", target);
}
if (index < 0 || index >= libs.size()) {
throw new HumanReadableException("%s: ", target);
}
builder.add(SourcePathArg.of(libs.get(index)));
} else {
builder.add(StringArg.of(arg));
}
}
return builder.build();
}
use of org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList in project buck by facebook.
the class Configs method createDefaultConfig.
/**
* Generates a Buck config by merging configs from specified locations on disk.
*
* In order:
*
* <ol>
* <li>{@code /etc/buckconfig}</li>
* <li>Files (in lexicographical order) in {@code /etc/buckconfig.d}</li>
* <li>{@code <HOME>/.buckconfig}</li>
* <li>Files (in lexicographical order) in {@code <HOME>/buckconfig.d}</li>
* <li>{@code <PROJECT ROOT>/.buckconfig}</li>
* <li>{@code <PROJECT ROOT>/.buckconfig.local}</li>
* <li>Any overrides (usually from the command line)</li>
* </ol>
*
* @param root Project root.
* @param configOverrides Config overrides to merge in after the other sources.
* @return the resulting {@code Config}.
* @throws IOException on any exceptions during the underlying filesystem operations.
*/
public static Config createDefaultConfig(Path root, RawConfig configOverrides) throws IOException {
LOG.debug("Loading configuration for %s", root);
ImmutableList.Builder<Path> configFileBuilder = ImmutableList.builder();
configFileBuilder.addAll(listFiles(GLOBAL_BUCK_CONFIG_DIRECTORY_PATH));
if (Files.isRegularFile(GLOBAL_BUCK_CONFIG_FILE_PATH)) {
configFileBuilder.add(GLOBAL_BUCK_CONFIG_FILE_PATH);
}
Path homeDirectory = Paths.get(System.getProperty("user.home"));
Path userConfigDir = homeDirectory.resolve(DEFAULT_BUCK_CONFIG_DIRECTORY_NAME);
configFileBuilder.addAll(listFiles(userConfigDir));
Path userConfigFile = homeDirectory.resolve(DEFAULT_BUCK_CONFIG_FILE_NAME);
if (Files.isRegularFile(userConfigFile)) {
configFileBuilder.add(userConfigFile);
}
Path configFile = root.resolve(DEFAULT_BUCK_CONFIG_FILE_NAME);
if (Files.isRegularFile(configFile)) {
configFileBuilder.add(configFile);
}
Path overrideConfigFile = root.resolve(DEFAULT_BUCK_CONFIG_OVERRIDE_FILE_NAME);
if (Files.isRegularFile(overrideConfigFile)) {
configFileBuilder.add(overrideConfigFile);
}
ImmutableList<Path> configFiles = configFileBuilder.build();
RawConfig.Builder builder = RawConfig.builder();
for (Path file : configFiles) {
try (Reader reader = Files.newBufferedReader(file, StandardCharsets.UTF_8)) {
ImmutableMap<String, ImmutableMap<String, String>> parsedConfiguration = Inis.read(reader);
LOG.debug("Loaded a configuration file %s: %s", file, parsedConfiguration);
builder.putAll(parsedConfiguration);
}
}
LOG.debug("Adding configuration overrides %s", configOverrides);
builder.putAll(configOverrides);
return new Config(builder.build());
}
use of org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList in project buck by facebook.
the class HaskellCompileRule method getBuildSteps.
@Override
public ImmutableList<Step> getBuildSteps(BuildContext buildContext, BuildableContext buildableContext) {
buildableContext.recordArtifact(getObjectDir());
buildableContext.recordArtifact(getInterfaceDir());
buildableContext.recordArtifact(getStubDir());
return ImmutableList.of(new MakeCleanDirectoryStep(getProjectFilesystem(), getObjectDir()), new MakeCleanDirectoryStep(getProjectFilesystem(), getInterfaceDir()), new MakeCleanDirectoryStep(getProjectFilesystem(), getStubDir()), new ShellStep(getProjectFilesystem().getRootPath()) {
@Override
public ImmutableMap<String, String> getEnvironmentVariables(ExecutionContext context) {
return ImmutableMap.<String, String>builder().putAll(super.getEnvironmentVariables(context)).putAll(compiler.getEnvironment(buildContext.getSourcePathResolver())).build();
}
@Override
protected ImmutableList<String> getShellCommandInternal(ExecutionContext context) {
SourcePathResolver resolver = buildContext.getSourcePathResolver();
return ImmutableList.<String>builder().addAll(compiler.getCommandPrefix(resolver)).addAll(flags).add("-no-link").addAll(picType == CxxSourceRuleFactory.PicType.PIC ? ImmutableList.of("-dynamic", "-fPIC", "-hisuf", "dyn_hi") : ImmutableList.of()).addAll(MoreIterables.zipAndConcat(Iterables.cycle("-main-is"), OptionalCompat.asSet(main))).addAll(getPackageNameArgs()).addAll(getPreprocessorFlags(buildContext.getSourcePathResolver())).add("-odir", getProjectFilesystem().resolve(getObjectDir()).toString()).add("-hidir", getProjectFilesystem().resolve(getInterfaceDir()).toString()).add("-stubdir", getProjectFilesystem().resolve(getStubDir()).toString()).add("-i" + includes.stream().map(resolver::getAbsolutePath).map(Object::toString).collect(Collectors.joining(":"))).addAll(getPackageArgs(buildContext.getSourcePathResolver())).addAll(sources.getSourcePaths().stream().map(resolver::getAbsolutePath).map(Object::toString).iterator()).build();
}
@Override
public String getShortName() {
return "haskell-compile";
}
});
}
Aggregations