List of usage examples for com.google.common.collect Table remove
@Nullable V remove(@Nullable Object rowKey, @Nullable Object columnKey);
From source file:com.google.gerrit.server.ReviewerSet.java
public static ReviewerSet fromApprovals(Iterable<PatchSetApproval> approvals) { PatchSetApproval first = null;/* w w w . j ava2 s . co m*/ Table<ReviewerStateInternal, Account.Id, Timestamp> reviewers = HashBasedTable.create(); for (PatchSetApproval psa : approvals) { if (first == null) { first = psa; } else { checkArgument( first.getKey().getParentKey().getParentKey() .equals(psa.getKey().getParentKey().getParentKey()), "multiple change IDs: %s, %s", first.getKey(), psa.getKey()); } Account.Id id = psa.getAccountId(); reviewers.put(REVIEWER, id, psa.getGranted()); if (psa.getValue() != 0) { reviewers.remove(CC, id); } } return new ReviewerSet(reviewers); }
From source file:com.android.tools.idea.uibuilder.property.NlProperties.java
private static Table<String, String, NlPropertyItem> combine( @NotNull Table<String, String, NlPropertyItem> properties, @Nullable Table<String, String, NlPropertyItem> combinedProperties) { if (combinedProperties == null) { return properties; }/*from w w w . j av a2 s .com*/ List<String> namespaces = new ArrayList<>(combinedProperties.rowKeySet()); List<String> propertiesToRemove = new ArrayList<>(); for (String namespace : namespaces) { propertiesToRemove.clear(); for (Map.Entry<String, NlPropertyItem> entry : combinedProperties.row(namespace).entrySet()) { NlPropertyItem other = properties.get(namespace, entry.getKey()); if (!entry.getValue().sameDefinition(other)) { propertiesToRemove.add(entry.getKey()); } } for (String propertyName : propertiesToRemove) { combinedProperties.remove(namespace, propertyName); } } // Never include the ID attribute when looking at multiple components: combinedProperties.remove(ANDROID_URI, ATTR_ID); return combinedProperties; }
From source file:rapture.sheet.memory.InMemorySheet.java
public Boolean delete(int row, int column, int dimension) { Table<Integer, Integer, RaptureSheetCell> table = dimToData.get(dimension); if (table == null) { return false; } else {//w w w. jav a 2s . c o m return table.remove(row, column) != null; } }
From source file:es.upm.dit.xsdinferencer.merge.mergerimpl.TypeMergerImpl.java
private void removedUnusedSchemaElements(Schema schema) { boolean changed = true; Table<String, String, SchemaElement> schemaElements = schema.getElements(); mainLoop: while (changed) { changed = false;/* www . j av a 2 s . com*/ for (String namespaceURI : schemaElements.rowKeySet()) { elementInnerLoop: for (String key : schemaElements.row(namespaceURI).keySet()) { SchemaElement currentSchemaElement = schemaElements.get(namespaceURI, key); if (currentSchemaElement.isValidRoot()) continue elementInnerLoop; for (ComplexType complexType : schema.getComplexTypes().values()) { if (complexType.getAutomaton().containsNode(currentSchemaElement)) continue elementInnerLoop; } //If no complex type contains it and it is not a valid root, we delete it schemaElements.remove(namespaceURI, key); changed = true; continue mainLoop; } } } }
From source file:com.android.tools.idea.uibuilder.property.NlProperties.java
@NotNull private Table<String, String, NlPropertyItem> getPropertiesWithReadLock(@NotNull AndroidFacet facet, @NotNull List<NlComponent> components, @NotNull GradleDependencyManager dependencyManager) { ResourceManager localResourceManager = facet.getLocalResourceManager(); ResourceManager systemResourceManager = facet.getSystemResourceManager(); if (systemResourceManager == null) { Logger.getInstance(NlProperties.class) .error("No system resource manager for module: " + facet.getModule().getName()); return ImmutableTable.of(); }//from w ww . j av a2s.c o m AttributeDefinitions localAttrDefs = localResourceManager.getAttributeDefinitions(); AttributeDefinitions systemAttrDefs = systemResourceManager.getAttributeDefinitions(); Table<String, String, NlPropertyItem> combinedProperties = null; for (NlComponent component : components) { XmlTag tag = component.getTag(); if (!tag.isValid()) { return ImmutableTable.of(); } XmlElementDescriptor elementDescriptor = myDescriptorProvider.getDescriptor(tag); if (elementDescriptor == null) { return ImmutableTable.of(); } XmlAttributeDescriptor[] descriptors = elementDescriptor.getAttributesDescriptors(tag); Table<String, String, NlPropertyItem> properties = HashBasedTable.create(3, descriptors.length); for (XmlAttributeDescriptor desc : descriptors) { String namespace = getNamespace(desc, tag); AttributeDefinitions attrDefs = NS_RESOURCES.equals(namespace) ? systemAttrDefs : localAttrDefs; AttributeDefinition attrDef = attrDefs == null ? null : attrDefs.getAttrDefByName(desc.getName()); NlPropertyItem property = NlPropertyItem.create(components, desc, namespace, attrDef); properties.put(StringUtil.notNullize(namespace), property.getName(), property); } // Exceptions: switch (tag.getName()) { case AUTO_COMPLETE_TEXT_VIEW: // An AutoCompleteTextView has a popup that is created at runtime. // Properties for this popup can be added to the AutoCompleteTextView tag. properties.put(ANDROID_URI, ATTR_POPUP_BACKGROUND, NlPropertyItem.create(components, new AndroidAnyAttributeDescriptor(ATTR_POPUP_BACKGROUND), ANDROID_URI, systemAttrDefs != null ? systemAttrDefs.getAttrDefByName(ATTR_POPUP_BACKGROUND) : null)); break; } combinedProperties = combine(properties, combinedProperties); } // The following properties are deprecated in the support library and can be ignored by tools: assert combinedProperties != null; combinedProperties.remove(AUTO_URI, ATTR_PADDING_START); combinedProperties.remove(AUTO_URI, ATTR_PADDING_END); combinedProperties.remove(AUTO_URI, ATTR_THEME); setUpDesignProperties(combinedProperties); setUpSrcCompat(combinedProperties, facet, components, dependencyManager); initStarState(combinedProperties); //noinspection ConstantConditions return combinedProperties; }
From source file:accumulo.balancer.GroupBalancer.java
private void balanceExtraExtra(Map<TServerInstance, TserverGroupInfo> tservers, int maxExtraGroups, Moves moves) {//from w ww . j a v a2 s .c o m Table<String, TServerInstance, TserverGroupInfo> surplusExtra = HashBasedTable.create(); for (TserverGroupInfo tgi : tservers.values()) { Map<String, Integer> extras = tgi.getExtras(); if (extras.size() > maxExtraGroups) { for (String group : extras.keySet()) { surplusExtra.put(group, tgi.getTserverInstance(), tgi); } } } ArrayList<Pair<String, TServerInstance>> serversGroupsToRemove = new ArrayList<>(); ArrayList<TServerInstance> serversToRemove = new ArrayList<>(); for (TserverGroupInfo destTgi : tservers.values()) { if (surplusExtra.size() == 0) { break; } Map<String, Integer> extras = destTgi.getExtras(); if (extras.size() < maxExtraGroups) { serversToRemove.clear(); serversGroupsToRemove.clear(); for (String group : surplusExtra.rowKeySet()) { if (!extras.containsKey(group)) { TserverGroupInfo srcTgi = surplusExtra.row(group).values().iterator().next(); moves.move(group, 1, srcTgi, destTgi); if (srcTgi.getExtras().size() <= maxExtraGroups) { serversToRemove.add(srcTgi.getTserverInstance()); } else { serversGroupsToRemove .add(new Pair<String, TServerInstance>(group, srcTgi.getTserverInstance())); } if (destTgi.getExtras().size() >= maxExtraGroups || moves.size() >= getMaxMigrations()) { break; } } } if (serversToRemove.size() > 0) { surplusExtra.columnKeySet().removeAll(serversToRemove); } for (Pair<String, TServerInstance> pair : serversGroupsToRemove) { surplusExtra.remove(pair.getFirst(), pair.getSecond()); } if (moves.size() >= getMaxMigrations()) { break; } } } }
From source file:accumulo.balancer.GroupBalancer.java
private void balanceExtraExpected(Map<TServerInstance, TserverGroupInfo> tservers, int expectedExtra, Moves moves) {//from ww w .j a va 2 s . c om Table<String, TServerInstance, TserverGroupInfo> extraSurplus = HashBasedTable.create(); for (TserverGroupInfo tgi : tservers.values()) { Map<String, Integer> extras = tgi.getExtras(); if (extras.size() > expectedExtra) { for (String group : extras.keySet()) { extraSurplus.put(group, tgi.getTserverInstance(), tgi); } } } ArrayList<TServerInstance> emptyServers = new ArrayList<>(); ArrayList<Pair<String, TServerInstance>> emptyServerGroups = new ArrayList<>(); for (TserverGroupInfo destTgi : tservers.values()) { if (extraSurplus.size() == 0) { break; } Map<String, Integer> extras = destTgi.getExtras(); if (extras.size() < expectedExtra) { emptyServers.clear(); emptyServerGroups.clear(); nextGroup: for (String group : extraSurplus.rowKeySet()) { if (!extras.containsKey(group)) { Iterator<TserverGroupInfo> iter = extraSurplus.row(group).values().iterator(); TserverGroupInfo srcTgi = iter.next(); while (srcTgi.getExtras().size() <= expectedExtra) { if (iter.hasNext()) { srcTgi = iter.next(); } else { continue nextGroup; } } moves.move(group, 1, srcTgi, destTgi); if (srcTgi.getExtras().size() <= expectedExtra) { emptyServers.add(srcTgi.getTserverInstance()); } else if (srcTgi.getExtras().get(group) == null) { emptyServerGroups .add(new Pair<String, TServerInstance>(group, srcTgi.getTserverInstance())); } if (destTgi.getExtras().size() >= expectedExtra || moves.size() >= getMaxMigrations()) { break; } } } if (emptyServers.size() > 0) { extraSurplus.columnKeySet().removeAll(emptyServers); } for (Pair<String, TServerInstance> pair : emptyServerGroups) { extraSurplus.remove(pair.getFirst(), pair.getSecond()); } if (moves.size() >= getMaxMigrations()) { break; } } } }