List of usage examples for com.google.common.collect Multimap putAll
boolean putAll(@Nullable K key, Iterable<? extends V> values);
From source file:elaborate.editor.publish.PublishTask.java
static Multimap<String, String> getMultivaluedFacetValues(String[] multivaluedFacetNames, ProjectEntry projectEntry) {//from w ww .j av a2s . c om Multimap<String, String> multivaluedFacetValues = ArrayListMultimap.create(); for (String multivaluedFacet : multivaluedFacetNames) { String multivalue = projectEntry.getMetadataValue(multivaluedFacet); if (StringUtils.isNotEmpty(multivalue)) { multivaluedFacetValues.putAll(multivaluedFacet, StringUtil.getValues(multivalue)); } } return multivaluedFacetValues; }
From source file:com.b2international.snowowl.snomed.datastore.index.change.DescriptionAcceptabilityChangeProcessor.java
public Map<String, Multimap<Acceptability, RefSetMemberChange>> process(ICDOCommitChangeSet commitChangeSet, RevisionSearcher searcher) throws IOException { final Multimap<String, RefSetMemberChange> preferredMemberChanges = HashMultimap.create(); final Multimap<String, RefSetMemberChange> acceptableMemberChanges = HashMultimap.create(); // add active new and active dirty members final Iterable<SnomedLanguageRefSetMember> newAndDirtyMembers = Iterables.concat( commitChangeSet.getNewComponents(SnomedLanguageRefSetMember.class), commitChangeSet.getDirtyComponents(SnomedLanguageRefSetMember.class)); for (SnomedLanguageRefSetMember member : newAndDirtyMembers) { if (member.isActive()) { final String uuid = member.getUuid(); final String refSetId = member.getRefSetIdentifierId(); final RefSetMemberChange change = new RefSetMemberChange(uuid, refSetId, MemberChangeKind.ADDED, member.isActive());//from w w w . j a v a 2 s. c om registerChange(preferredMemberChanges, acceptableMemberChanges, member.getAcceptabilityId(), member.getReferencedComponentId(), change); } } // remove dirty inactive (and/or changed in acceptability) members final Iterable<SnomedLanguageRefSetMember> dirtyMembers = commitChangeSet .getDirtyComponents(SnomedLanguageRefSetMember.class); final Iterable<Long> dirtyMemberStorageKeys = CDOIDUtils.createCdoIdToLong(CDOIDUtils.getIds(dirtyMembers)); final Iterable<Long> detachedMemberStorageKeys = CDOIDUtils.createCdoIdToLong( commitChangeSet.getDetachedComponents(SnomedRefSetPackage.Literals.SNOMED_LANGUAGE_REF_SET_MEMBER)); final Map<Long, SnomedRefSetMemberIndexEntry> currentRevisionsByStorageKey = Maps.uniqueIndex( searcher.get(SnomedRefSetMemberIndexEntry.class, Iterables.concat(dirtyMemberStorageKeys, detachedMemberStorageKeys)), new Function<SnomedRefSetMemberIndexEntry, Long>() { @Override public Long apply(SnomedRefSetMemberIndexEntry input) { return input.getStorageKey(); } }); for (SnomedLanguageRefSetMember member : dirtyMembers) { final String uuid = member.getUuid(); final String refSetId = member.getRefSetIdentifierId(); final RefSetMemberChange change = new RefSetMemberChange(uuid, refSetId, MemberChangeKind.REMOVED, member.isActive()); final SnomedRefSetMemberIndexEntry before = currentRevisionsByStorageKey .get(CDOIDUtil.getLong(member.cdoID())); if (before != null) { final String beforeAcceptabilityId = before.getAcceptabilityId(); final boolean beforeActive = before.isActive(); final boolean acceptabilityChanged = !member.getAcceptabilityId().equals(beforeAcceptabilityId); if (beforeActive && acceptabilityChanged) { registerChange(preferredMemberChanges, acceptableMemberChanges, beforeAcceptabilityId, member.getReferencedComponentId(), change); } } if (!member.isActive()) { registerChange(preferredMemberChanges, acceptableMemberChanges, member.getAcceptabilityId(), member.getReferencedComponentId(), change); } } // remove earlier active detached members for (CDOID cdoid : commitChangeSet .getDetachedComponents(SnomedRefSetPackage.Literals.SNOMED_LANGUAGE_REF_SET_MEMBER)) { final SnomedRefSetMemberIndexEntry before = currentRevisionsByStorageKey.get(CDOIDUtil.getLong(cdoid)); if (before.isActive()) { final String uuid = before.getId(); final String refSetId = before.getReferenceSetId(); final String referencedComponentId = before.getReferencedComponentId(); final String beforeAcceptabilityId = before.getAcceptabilityId(); final RefSetMemberChange change = new RefSetMemberChange(uuid, refSetId, MemberChangeKind.REMOVED, before.isActive()); registerChange(preferredMemberChanges, acceptableMemberChanges, beforeAcceptabilityId, referencedComponentId, change); } } final Map<String, Multimap<Acceptability, RefSetMemberChange>> changes = newHashMap(); for (String descriptionId : Iterables.concat(preferredMemberChanges.keySet(), acceptableMemberChanges.keySet())) { if (!changes.containsKey(descriptionId)) { changes.put(descriptionId, HashMultimap.<Acceptability, RefSetMemberChange>create()); } final Multimap<Acceptability, RefSetMemberChange> memberChanges = changes.get(descriptionId); memberChanges.putAll(Acceptability.PREFERRED, preferredMemberChanges.get(descriptionId)); memberChanges.putAll(Acceptability.ACCEPTABLE, acceptableMemberChanges.get(descriptionId)); } return changes; }
From source file:com.isotrol.impe3.web20.client.counter.CounterComponent.java
/** * Generates img likes uri for action./*w w w . j av a 2 s . com*/ * @param context * @return Returns action uri. */ String getURI(final RenderContext context) { if (idr == null) { return null; } if (idc == null) { idc = new UUID(0L, 0L).toString(); } if (cgr == null) { cgr = Lists.newArrayList(); } if (ct == null) { if (config != null && config.counterType() != null) { ct = config.counterType(); } else { ct = moduleConfig.counterType(); } } Multimap<String, Object> parameters = ArrayListMultimap.create(); parameters.put("idr", idr); parameters.put("idc", idc); parameters.putAll("cgr", cgr); parameters.put("ct", ct); if (sm != null) { parameters.put("sm", sm); } if (so != null) { parameters.put("so", so); } return context.getActionURI("counter", parameters).toASCIIString(); }
From source file:it.units.malelab.ege.distributed.worker.CommunicationRunnable.java
@Override public void run() { try (Socket socket = new Socket(worker.getMasterAddress(), worker.getMasterPort());) { //handshake ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); oos.flush();//from w w w.jav a 2 s . c o m ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); String challenge = DistributedUtils.decrypt((byte[]) ois.readObject(), worker.getKeyPhrase()); oos.writeObject(DistributedUtils.encrypt(DistributedUtils.reverse(challenge), worker.getKeyPhrase())); L.finer(String.format("Handshake response sent with \"%s\".", challenge)); //average stats Map<String, Number> avgStats = new HashMap<>(); for (String statName : worker.getStats().keySet()) { double s = 0; for (Number v : worker.getStats().get(statName)) { s = s + v.doubleValue(); } if (!worker.getStats().get(statName).isEmpty()) { avgStats.put(statName, s / worker.getStats().get(statName).size()); } } //prepare jobs data Multimap<String, Map<String, Object>> jobsData = ArrayListMultimap.create(); synchronized (worker.getCurrentJobsData()) { for (Job job : worker.getCurrentJobsData().keySet()) { jobsData.putAll(job.getId(), worker.getCurrentJobsData().get(job)); } worker.getCurrentJobsData().clear(); } //prepare jobs result Map<String, List<Node>> jobsResults = new HashMap<>(); synchronized (worker.getCompletedJobsResults()) { for (Map.Entry<Job, List<Node>> jobResultsEntry : worker.getCompletedJobsResults().entrySet()) { jobsResults.put(jobResultsEntry.getKey().getId(), jobResultsEntry.getValue()); } worker.getCompletedJobsResults().clear(); } //send worker message WorkerMessage workerMessage = new WorkerMessage(worker.getName(), worker.getInterval(), avgStats, worker.getFreeThreads(), worker.getMaxThreads(), jobsData, jobsResults); oos.writeObject(workerMessage); //read and consume master message MasterMessage masterMessage = (MasterMessage) ois.readObject(); for (Job job : masterMessage.getNewJobs()) { worker.submitJob(job); } //close socket.close(); } catch (IOException ex) { L.log(Level.SEVERE, String.format("Cannot connect to master: %s", ex.getMessage()), ex); } catch (ClassNotFoundException ex) { L.log(Level.SEVERE, String.format("Cannot decode response: %s", ex.getMessage()), ex); } catch (Throwable ex) { L.log(Level.SEVERE, String.format("Some error: %s", ex.getMessage()), ex); } }
From source file:com.synflow.cx.internal.instantiation.InstantiatorImpl.java
/** * Creates a new connection maker and connects the given network. Visits inner tasks first, and * then connect statements./* w w w .ja v a 2 s. c om*/ * * @param network * @param dpn */ private void connect(Network network, DPN dpn) { Multimap<EObject, Port> portMap = LinkedHashMultimap.create(); portMap.putAll(dpn, dpn.getOutputs()); for (Instance instance : dpn.getInstances()) { Entity entity = instance.getEntity(); if (entity != null) { portMap.putAll(instance, entity.getInputs()); } } implicitConnector.connect(portMap, network, dpn); explicitConnector.connect(portMap, network, dpn); }
From source file:org.sonar.java.symexec.ExecutionState.java
void invalidateRelationsOnValue(SymbolicValue value) { Multimap<SymbolicValue, SymbolicValue> pairs = HashMultimap.create(); for (ExecutionState current = this; current != null; current = current.parentState) { pairs.putAll(value, current.findRelatedValues(value)); }//from w w w . j a v a2s . c o m for (Map.Entry<SymbolicValue, SymbolicValue> entry : pairs.entries()) { setRelation(entry.getKey(), SymbolicRelation.UNKNOWN, entry.getValue()); } }
From source file:com.facebook.buck.java.JavaSymbolFinder.java
/** * Figure out the build targets that provide a set of Java symbols. * @param symbols The set of symbols (e.g. "com.example.foo.Bar") to find defining targets for. * This is taken as a collection, rather than as an individual string, because * instantiating a ProjectBuildFileParser is expensive (it spawns a Python * subprocess), and we don't want to encourage the caller to do it more than once. * @return A multimap of symbols to the targets that define them, of the form: * {"com.example.a.A": set("//com/example/a:a", "//com/another/a:a")} *//*from www .ja v a 2 s . c o m*/ public ImmutableSetMultimap<String, BuildTarget> findTargetsForSymbols(Set<String> symbols) throws InterruptedException { // TODO(jacko): Handle files that aren't included in any rule. // First find all the source roots in the current project. Collection<Path> srcRoots; try { srcRoots = srcRootsFinder.getAllSrcRootPaths(config.getSrcRoots()); } catch (IOException e) { buckEventBus.post(ThrowableConsoleEvent.create(e, "Error while searching for source roots.")); return ImmutableSetMultimap.of(); } // Now collect all the code files that define our symbols. Multimap<String, Path> symbolsToSourceFiles = HashMultimap.create(); for (String symbol : symbols) { symbolsToSourceFiles.putAll(symbol, getDefiningPaths(symbol, srcRoots)); } // Now find all the targets that define all those code files. We do this in one pass because we // don't want to instantiate a new parser subprocess for every symbol. Set<Path> allSourceFilePaths = ImmutableSet.copyOf(symbolsToSourceFiles.values()); Multimap<Path, BuildTarget> sourceFilesToTargets = getTargetsForSourceFiles(allSourceFilePaths); // Now build the map from from symbols to build targets. ImmutableSetMultimap.Builder<String, BuildTarget> symbolsToTargets = ImmutableSetMultimap.builder(); for (String symbol : symbolsToSourceFiles.keySet()) { for (Path sourceFile : symbolsToSourceFiles.get(symbol)) { symbolsToTargets.putAll(symbol, sourceFilesToTargets.get(sourceFile)); } } return symbolsToTargets.build(); }
From source file:com.facebook.buck.jvm.java.JavaSymbolFinder.java
/** * Figure out the build targets that provide a set of Java symbols. * @param symbols The set of symbols (e.g. "com.example.foo.Bar") to find defining targets for. * This is taken as a collection, rather than as an individual string, because * instantiating a ProjectBuildFileParser is expensive (it spawns a Python * subprocess), and we don't want to encourage the caller to do it more than once. * @return A multimap of symbols to the targets that define them, of the form: * {"com.example.a.A": set("//com/example/a:a", "//com/another/a:a")} *//*www .j ava 2 s.co m*/ public ImmutableSetMultimap<String, BuildTarget> findTargetsForSymbols(Set<String> symbols) throws InterruptedException, IOException { // TODO(oconnor663): Handle files that aren't included in any rule. // First find all the source roots in the current project. Collection<Path> srcRoots; try { srcRoots = srcRootsFinder.getAllSrcRootPaths(config.getView(JavaBuckConfig.class).getSrcRoots()); } catch (IOException e) { buckEventBus.post(ThrowableConsoleEvent.create(e, "Error while searching for source roots.")); return ImmutableSetMultimap.of(); } // Now collect all the code files that define our symbols. Multimap<String, Path> symbolsToSourceFiles = HashMultimap.create(); for (String symbol : symbols) { symbolsToSourceFiles.putAll(symbol, getDefiningPaths(symbol, srcRoots)); } // Now find all the targets that define all those code files. We do this in one pass because we // don't want to instantiate a new parser subprocess for every symbol. Set<Path> allSourceFilePaths = ImmutableSet.copyOf(symbolsToSourceFiles.values()); Multimap<Path, BuildTarget> sourceFilesToTargets = getTargetsForSourceFiles(allSourceFilePaths); // Now build the map from from symbols to build targets. ImmutableSetMultimap.Builder<String, BuildTarget> symbolsToTargets = ImmutableSetMultimap.builder(); for (String symbol : symbolsToSourceFiles.keySet()) { for (Path sourceFile : symbolsToSourceFiles.get(symbol)) { symbolsToTargets.putAll(symbol, sourceFilesToTargets.get(sourceFile)); } } return symbolsToTargets.build(); }
From source file:org.gerryai.htn.simple.constraint.validation.impl.SimpleConstraintValidator.java
@Override public final void replace(Task oldTask, TaskNetwork newTaskNetwork) { //TODO: Check implementation // Build a new set of tasks int numTasks = tasks.size() + newTaskNetwork.getTasks().size() - 1; Set<Task> newTasks = new HashSet<Task>(numTasks); for (Task task : tasks) { if (!task.equals(oldTask)) { newTasks.add(task);//from w w w .j a v a2 s. c o m } else { newTasks.addAll(newTaskNetwork.getTasks()); } } tasks = newTasks; // Update existing constraints Multimap<Task, Task> taskMap = HashMultimap.create(); taskMap.putAll(oldTask, newTaskNetwork.getTasks()); beforeConstraints = mergeAndReplace(beforeConstraints, newTaskNetwork.getBeforeConstraints(), taskMap); afterConstraints = mergeAndReplace(afterConstraints, newTaskNetwork.getAfterConstraints(), taskMap); betweenConstraints = mergeAndReplace(betweenConstraints, newTaskNetwork.getBetweenConstraints(), taskMap); precedenceConstraints = mergeAndReplace(precedenceConstraints, newTaskNetwork.getPrecedenceConstraints(), taskMap); }
From source file:ezbake.ezpurge.ServicePurgeClient.java
/** * retrieves a map of services to applications * @return Multimap containing the Applications as keys and a list of services as the value * @throws Exception for any zookeeper errors *//* w w w . j a v a2 s . c o m*/ public Multimap<String, String> getPurgeServices() throws Exception { Multimap<String, String> purgeServices = ArrayListMultimap.create(); List<String> applications = zkClient.getChildren().forPath(""); for (String app : applications) { String path = ServiceDiscoveryClient.makeZKPath(app); List<String> services = zkClient.getChildren().forPath(path); purgeServices.putAll(app, services); } return purgeServices; }