List of usage examples for com.google.common.collect ImmutableSet size
int size();
From source file:dagger.internal.codegen.InjectValidator.java
private ValidationReport<VariableElement> validateField(VariableElement fieldElement) { ValidationReport.Builder<VariableElement> builder = ValidationReport.about(fieldElement); Set<Modifier> modifiers = fieldElement.getModifiers(); if (modifiers.contains(FINAL)) { builder.addError(FINAL_INJECT_FIELD, fieldElement); }/* w ww .j a va2 s.c o m*/ if (modifiers.contains(PRIVATE)) { builder.addItem(PRIVATE_INJECT_FIELD, privateAndStaticInjectionDiagnosticKind.orElse(compilerOptions.privateMemberValidationKind()), fieldElement); } if (modifiers.contains(STATIC)) { builder.addItem(STATIC_INJECT_FIELD, privateAndStaticInjectionDiagnosticKind.orElse(compilerOptions.staticMemberValidationKind()), fieldElement); } ImmutableSet<? extends AnnotationMirror> qualifiers = getQualifiers(fieldElement); if (qualifiers.size() > 1) { for (AnnotationMirror qualifier : qualifiers) { builder.addError(MULTIPLE_QUALIFIERS, fieldElement, qualifier); } } if (FrameworkTypes.isProducerType(fieldElement.asType())) { builder.addError(provisionMayNotDependOnProducerType(fieldElement.asType()), fieldElement); } return builder.build(); }
From source file:dagger.internal.codegen.InjectBindingRegistryImpl.java
@CanIgnoreReturnValue @Override/*from w ww . ja v a 2 s . c om*/ public Optional<ProvisionBinding> getOrFindProvisionBinding(Key key) { checkNotNull(key); if (!isValidImplicitProvisionKey(key, types)) { return Optional.empty(); } ProvisionBinding binding = provisionBindings.getBinding(key); if (binding != null) { return Optional.of(binding); } // ok, let's see if we can find an @Inject constructor TypeElement element = MoreElements.asType(types.asElement(key.type())); ImmutableSet<ExecutableElement> injectConstructors = injectedConstructors(element); switch (injectConstructors.size()) { case 0: // No constructor found. return Optional.empty(); case 1: return tryRegisterConstructor(Iterables.getOnlyElement(injectConstructors), Optional.of(key.type()), true); default: throw new IllegalStateException("Found multiple @Inject constructors: " + injectConstructors); } }
From source file:com.google.caliper.runner.CaliperRun.java
public void run() throws InvalidBenchmarkException { ImmutableList<VirtualMachine> vms = createVms(options.vmNames()); ImmutableSetMultimap<String, String> combinedParams = benchmarkClass.userParameters() .fillInDefaultsFor(options.userParameters()); // TODO(kevinb): other kinds of partial scenario selectors... ScenarioSelection selection = new FullCartesianScenarioSelection(methods, vms, combinedParams); console.describe(selection);//from w ww . j ava2s. c o m ImmutableSet<Scenario> allScenarios = selection.buildScenarios(); console.beforeDryRun(allScenarios.size()); console.flush(); // always dry run first. ImmutableSet<Scenario> scenariosToRun = dryRun(allScenarios); if (scenariosToRun.size() != allScenarios.size()) { console.skippedScenarios(allScenarios.size() - scenariosToRun.size()); } ShortDuration estimate; try { ShortDuration perTrial = instrument.estimateRuntimePerTrial(); estimate = perTrial.times(scenariosToRun.size() * options.trialsPerScenario()); } catch (Exception e) { estimate = ShortDuration.zero(); } if (options.dryRun()) { return; } console.beforeRun(options.trialsPerScenario(), scenariosToRun.size(), estimate); console.flush(); ResultDataWriter results = new ResultDataWriter(); results.writeInstrument(instrument); results.writeEnvironment(new EnvironmentGetter().getEnvironmentSnapshot()); int scenariosExecuted = 0; int totalTrials = scenariosToRun.size() * options.trialsPerScenario(); // TODO: use Stopwatch after Guava r10 long start = System.currentTimeMillis(); for (int i = 0; i < options.trialsPerScenario(); i++) { for (Scenario scenario : scenariosToRun) { TrialResult trialResult = measure(scenario); results.writeTrialResult(trialResult); scenariosExecuted++; console.print(String.format("\r%d of %d measurements complete: %.1f%%.", scenariosExecuted, totalTrials, scenariosExecuted * 100.0 / totalTrials)); } } console.print("\n"); long elapsed = System.currentTimeMillis() - start; console.afterRun(ShortDuration.of(elapsed, MILLISECONDS)); Run run = results.getRun(); for (ResultProcessor resultProcessor : resultProcessors) { resultProcessor.processRun(run); } }
From source file:com.facebook.buck.core.graph.transformation.executor.impl.ToposortDepsAwareWorker.java
private ImmutableList<ToposortBasedDepsAwareTask<T>> checkTasksReadyOrReschedule( ImmutableSet<? extends ToposortBasedDepsAwareTask<T>> tasks) throws InterruptedException, ExecutionException { ImmutableList.Builder<ToposortBasedDepsAwareTask<T>> notDoneDepsBuilder = ImmutableList .builderWithExpectedSize(tasks.size()); for (ToposortBasedDepsAwareTask<T> task : tasks) { TaskStatus status = task.getStatus(); if (status != TaskStatus.DONE) { notDoneDepsBuilder.add(task); if (task.compareAndSetStatus(TaskStatus.NOT_SCHEDULED, TaskStatus.SCHEDULED)) { sharedQueue.putFirst(task); }// w w w . ja va 2 s . c om } propagateException(task); } return notDoneDepsBuilder.build(); }
From source file:dagger.internal.codegen.InjectValidator.java
private ValidationReport<ExecutableElement> validateMethod(ExecutableElement methodElement) { ValidationReport.Builder<ExecutableElement> builder = ValidationReport.about(methodElement); Set<Modifier> modifiers = methodElement.getModifiers(); if (modifiers.contains(ABSTRACT)) { builder.addError(ABSTRACT_INJECT_METHOD, methodElement); }//from w w w. ja v a 2 s. c o m if (modifiers.contains(PRIVATE)) { builder.addItem(PRIVATE_INJECT_METHOD, privateAndStaticInjectionDiagnosticKind.orElse(compilerOptions.privateMemberValidationKind()), methodElement); } if (modifiers.contains(STATIC)) { builder.addItem(STATIC_INJECT_METHOD, privateAndStaticInjectionDiagnosticKind.orElse(compilerOptions.staticMemberValidationKind()), methodElement); } if (!methodElement.getTypeParameters().isEmpty()) { builder.addError(GENERIC_INJECT_METHOD, methodElement); } for (VariableElement parameter : methodElement.getParameters()) { ImmutableSet<? extends AnnotationMirror> qualifiers = getQualifiers(parameter); if (qualifiers.size() > 1) { for (AnnotationMirror qualifier : qualifiers) { builder.addError(MULTIPLE_QUALIFIERS, methodElement, qualifier); } } if (FrameworkTypes.isProducerType(parameter.asType())) { builder.addError(provisionMayNotDependOnProducerType(parameter.asType()), parameter); } } return builder.build(); }
From source file:google.registry.export.ExportDomainListsAction.java
@Override public void run() { ImmutableSet<String> realTlds = getTldsOfType(TldType.REAL); logger.infofmt("Exporting domain lists for tlds %s", realTlds); response.sendJavaScriptRedirect(createJobPath(mrRunner.setJobName("Export domain lists") .setModuleName("backend").setDefaultReduceShards(Math.min(realTlds.size(), MAX_NUM_REDUCE_SHARDS)) .runMapreduce(new ExportDomainListsMapper(DateTime.now(UTC), realTlds), new ExportDomainListsReducer(gcsBucket, gcsBufferSize), ImmutableList.of(createEntityInput(DomainResource.class))))); }
From source file:org.apache.sentry.provider.common.ResourceAuthorizationProvider.java
private ImmutableSet<String> appendDefaultDBPriv(ImmutableSet<String> privileges, Authorizable[] authorizables) {/*from w ww. j av a 2 s . c o m*/ // Only for switch db if ((authorizables != null) && (authorizables.length == 4) && (authorizables[2].getName().equals("+"))) { if ((privileges.size() == 1) && hasOnlyServerPrivilege(privileges.asList().get(0))) { // Assuming authorizable[0] will always be the server // This Code is only reachable only when user fires a 'use default' // and the user has a privilege on atleast 1 privilized Object String defaultPriv = "Server=" + authorizables[0].getName() + "->Db=default->Table=*->Column=*->action=select"; HashSet<String> newPrivs = Sets.newHashSet(defaultPriv); return ImmutableSet.copyOf(newPrivs); } } return privileges; }
From source file:com.facebook.buck.distributed.build_slave.ReverseDepBuildTargetsQueue.java
private void processFinishedNode(DistributableNode target) { if (seenFinishedNodes.contains(target.getTargetName())) { String errorMessage = String.format("[%s] has already finished once", target.getTargetName()); LOG.error(errorMessage);// w w w .j a va 2s.c o m throw new RuntimeException(errorMessage); } seenFinishedNodes.add(target.getTargetName()); finishedCacheableNodes += (target.isUncacheable() ? 0 : 1); ImmutableSet<String> dependents = target.dependentTargets; LOG.debug( String.format("Complete node [%s] has [%s] dependents", target.getTargetName(), dependents.size())); for (String dependent : dependents) { DistributableNode dep = Objects.requireNonNull(distributableBuildGraph.getNode(dependent)); dep.finishDependency(target.getTargetName()); if (dep.areAllDependenciesResolved() && !dep.isUncacheable() && !seenWorkingCacheableNodes.contains(dep.getTargetName())) { zeroDependencyTargets.add(dep.getTargetName()); } else if (dep.areAllDependenciesResolved() && dep.isUncacheable()) { LOG.debug( String.format("Uncachable dependent [%s] is ready to auto complete.", dep.getTargetName())); zeroDependencyTargets.add(dep.getTargetName()); uncachableZeroDependencyTargets.add(dep.getTargetName()); } else if (dep.areAllDependenciesResolved()) { // If a child node made a parent node ready to build, but that parent node is already // part of a work unit, then no need to add it to zero dependency list (it is already // being build by the minion that just completed the child). LOG.debug(String.format("Dependent [%s] is ready, but already build as part of work unit.", dep.getTargetName())); } } }
From source file:com.facebook.buck.parser.DaemonicCellState.java
int invalidatePath(Path path) { try (AutoCloseableLock writeLock = rawAndComputedNodesLock.writeLock()) { int invalidatedRawNodes = 0; ImmutableSet<Map<String, Object>> rawNodes = allRawNodes.getIfPresent(path); if (rawNodes != null) { // Increment the counter invalidatedRawNodes = rawNodes.size(); for (Map<String, Object> rawNode : rawNodes) { UnflavoredBuildTarget target = RawNodeParsePipeline.parseBuildTargetFromRawRule(cell.getRoot(), rawNode, path);//from w w w . jav a2s . com LOG.debug("Invalidating target for path %s: %s", path, target); for (CacheImpl<?> cache : typedNodeCaches.values()) { cache.allComputedNodes.invalidateAll(targetsCornucopia.get(target)); } targetsCornucopia.removeAll(target); } allRawNodes.invalidate(path); } // We may have been given a file that other build files depend on. Iteratively remove those. Iterable<Path> dependents = buildFileDependents.get(path); LOG.debug("Invalidating dependents for path %s: %s", path, dependents); for (Path dependent : dependents) { if (dependent.equals(path)) { continue; } invalidatedRawNodes += invalidatePath(dependent); } buildFileDependents.removeAll(path); buildFileConfigs.remove(path); buildFileEnv.remove(path); return invalidatedRawNodes; } }
From source file:dagger.internal.codegen.DependencyRequestMapper.java
/** * Returns the framework class to use for a collection of requests of the same {@link BindingKey}. * This allows factories to only take a single argument for multiple requests of the same key. *//* w w w .ja v a 2 s . c o m*/ Class<?> getFrameworkClass(Iterable<DependencyRequest> requests) { ImmutableSet<Class<?>> classes = FluentIterable.from(requests) .transform(new Function<DependencyRequest, Class<?>>() { @Override public Class<?> apply(DependencyRequest request) { return getFrameworkClass(request); } }).toSet(); if (classes.size() == 1) { return getOnlyElement(classes); } else if (classes.equals(ImmutableSet.of(Producer.class, Provider.class))) { return Provider.class; } else { throw new IllegalStateException("Bad set of framework classes: " + classes); } }