Example usage for com.google.common.collect HashBasedTable create

List of usage examples for com.google.common.collect HashBasedTable create

Introduction

In this page you can find the example usage for com.google.common.collect HashBasedTable create.

Prototype

public static <R, C, V> HashBasedTable<R, C, V> create(int expectedRows, int expectedCellsPerRow) 

Source Link

Document

Creates an empty HashBasedTable with the specified map sizes.

Usage

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 w w .j  a  va  2s.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:mtsar.processors.answer.KOSAggregator.java

private Table<Integer, Integer, Double> tasksUpdate(Table<Integer, Integer, Short> graph,
        Table<Integer, Integer, Double> ys) {
    final Table<Integer, Integer, Double> xs = HashBasedTable.create(graph.rowKeySet().size(),
            graph.columnKeySet().size());

    for (final Table.Cell<Integer, Integer, Short> cell : graph.cellSet()) {
        double sumProduct = 0.0;

        final int taskId = cell.getRowKey(), workerId = cell.getColumnKey();
        final Map<Integer, Short> workers = graph.row(taskId);

        for (final Map.Entry<Integer, Short> worker : workers.entrySet()) {
            if (worker.getKey() == workerId)
                continue;
            sumProduct += worker.getValue() * ys.get(taskId, worker.getKey());
        }/*w w w  . j a va 2 s.c  o  m*/

        xs.put(taskId, workerId, sumProduct);
    }

    return xs;
}

From source file:mtsar.processors.answer.KOSAggregator.java

private Table<Integer, Integer, Double> workersUpdate(Table<Integer, Integer, Short> graph,
        Table<Integer, Integer, Double> xs) {
    final Table<Integer, Integer, Double> ys = HashBasedTable.create(graph.rowKeySet().size(),
            graph.columnKeySet().size());

    for (final Table.Cell<Integer, Integer, Short> cell : graph.cellSet()) {
        double sumProduct = 0.0;

        final int taskId = cell.getRowKey(), workerId = cell.getColumnKey();
        final Map<Integer, Short> tasks = graph.column(workerId);

        for (final Map.Entry<Integer, Short> task : tasks.entrySet()) {
            if (task.getKey() == taskId)
                continue;
            sumProduct += task.getValue() * xs.get(task.getKey(), workerId);
        }/*from  ww w  .  j  a  va2  s . c  o  m*/

        ys.put(taskId, workerId, sumProduct);
    }

    return ys;
}

From source file:org.sonar.server.measure.ws.ComponentTreeDataLoader.java

private Table<String, MetricDto, Measure> searchMeasuresByComponentUuidAndMetric(DbSession dbSession,
        ComponentDto baseComponent, ComponentTreeQuery componentTreeQuery, List<ComponentDto> components,
        List<MetricDto> metrics, @Nullable Long developerId) {

    Map<Integer, MetricDto> metricsById = Maps.uniqueIndex(metrics, MetricDto::getId);
    MeasureTreeQuery measureQuery = MeasureTreeQuery.builder()
            .setStrategy(MeasureTreeQuery.Strategy.valueOf(componentTreeQuery.getStrategy().name()))
            .setNameOrKeyQuery(componentTreeQuery.getNameOrKeyQuery())
            .setQualifiers(componentTreeQuery.getQualifiers()).setPersonId(developerId)
            .setMetricIds(new ArrayList<>(metricsById.keySet())).build();

    Table<String, MetricDto, Measure> measuresByComponentUuidAndMetric = HashBasedTable
            .create(components.size(), metrics.size());
    dbClient.measureDao().selectTreeByQuery(dbSession, baseComponent, measureQuery, result -> {
        MeasureDto measureDto = (MeasureDto) result.getResultObject();
        measuresByComponentUuidAndMetric.put(measureDto.getComponentUuid(),
                metricsById.get(measureDto.getMetricId()), Measure.createFromMeasureDto(measureDto));
    });/*from  w  ww .  j  a v a2s  .c  om*/

    addBestValuesToMeasures(measuresByComponentUuidAndMetric, components, metrics);

    return measuresByComponentUuidAndMetric;
}

From source file:ca.wumbo.wdl.parser.Player.java

/**
 * Creates a new player from the data provided.
 * /*from  w  w w. jav  a2 s  .co  m*/
 * @param playerName
 *       The name of the player.
 * 
 * @param teamColor
 *       The team enumeration color.
 * 
 * @throws NullPointerException
 *       If any argument is null.
 * 
 * @throws IllegalArgumentException
 *       If the player name is empty.
 */
public Player(String playerName, TeamColor teamColor) {
    checkNotNull(playerName);
    checkNotNull(teamColor);
    checkArgument(!playerName.isEmpty());

    int expectedPlayers = RoundParser.DEFAULT_TEAM_PLAYER_SIZE;
    int expectedWeapons = 5;

    name = playerName;
    team = teamColor;

    // All the fields for player data that must be initialized.
    currentHealth = 100;
    unlockedAchievementIds = new HashSet<>();
    pickupMap = new HashMap<>();
    killedWhileHoldingDirectFlag = new HashSet<>();
    damageOutputBetweenTouchAndCapture = new StatisticArray();
    listHPWhenTouching = new StatisticArray();
    listGreenArmorWhenTouching = new StatisticArray();
    listBlueArmorWhenTouching = new StatisticArray();
    listHealthTouchResultingInCapture = new StatisticArray();
    listCaptureGametics = new StatisticArray();
    listCaptureHP = new StatisticArray();
    listCaptureGreenArmor = new StatisticArray();
    listCaptureBlueArmor = new StatisticArray();
    spreeTracker = new FragSpreeTracker();
    killTable = HashBasedTable.create(expectedPlayers, expectedWeapons);
    carrierKillTable = HashBasedTable.create(expectedPlayers, expectedWeapons);
    damageTable = HashBasedTable.create(expectedPlayers, expectedPlayers);
    carrierDamageTable = HashBasedTable.create(expectedPlayers, expectedPlayers);
    playerAccuracyTable = HashBasedTable.create(expectedPlayers, expectedPlayers);
    playerAccuracyFlagOutTable = HashBasedTable.create(expectedPlayers, expectedPlayers);
}

From source file:com.google.gerrit.server.change.ChangeJson.java

private void setAllApprovals(ChangeData cd, Map<String, LabelInfo> labels) throws OrmException {
    ChangeControl baseCtrl = control(cd);
    if (baseCtrl == null) {
        return;/*from   ww  w.  jav a2 s  .c o m*/
    }

    // All users ever added, even if they can't vote on one or all labels.
    Set<Account.Id> allUsers = Sets.newHashSet();
    ListMultimap<PatchSet.Id, PatchSetApproval> allApprovals = cd.allApprovalsMap(db);
    for (PatchSetApproval psa : allApprovals.values()) {
        allUsers.add(psa.getAccountId());
    }

    List<PatchSetApproval> currentList = labelNormalizer.normalize(baseCtrl,
            allApprovals.get(baseCtrl.getChange().currentPatchSetId()));
    // Most recent, normalized vote on each label for the current patch set by
    // each user (may be 0).
    Table<Account.Id, String, PatchSetApproval> current = HashBasedTable.create(allUsers.size(),
            baseCtrl.getLabelTypes().getLabelTypes().size());
    for (PatchSetApproval psa : currentList) {
        current.put(psa.getAccountId(), psa.getLabel(), psa);
    }

    for (Account.Id accountId : allUsers) {
        IdentifiedUser user = userFactory.create(accountId);
        ChangeControl ctl = baseCtrl.forUser(user);
        for (Map.Entry<String, LabelInfo> e : labels.entrySet()) {
            LabelType lt = ctl.getLabelTypes().byLabel(e.getKey());
            if (lt == null) {
                // Ignore submit record for undefined label; likely the submit rule
                // author didn't intend for the label to show up in the table.
                continue;
            }
            Integer value;
            Timestamp date = null;
            PatchSetApproval psa = current.get(accountId, lt.getName());
            if (psa != null) {
                value = Integer.valueOf(psa.getValue());
                date = psa.getGranted();
            } else {
                // Either the user cannot vote on this label, or there just wasn't a
                // dummy approval for this label. Explicitly check whether the user
                // can vote on this label.
                value = labelNormalizer.canVote(ctl, lt, accountId) ? 0 : null;
            }
            e.getValue().addApproval(approvalInfo(accountId, value, date));
        }
    }
}

From source file:org.eclipse.incquery.runtime.base.core.NavigationHelperImpl.java

/**
* @return the instanceListeners/* w  w w .  jav a  2s .  com*/
*/
Table<Object, InstanceListener, Set<EClass>> getInstanceListeners() {
    if (instanceListeners == null) {
        instanceListeners = HashBasedTable.create(100, 1);
        for (Entry<InstanceListener, Set<EClass>> subscription : subscribedInstanceListeners.entrySet()) {
            final InstanceListener listener = subscription.getKey();
            for (EClass subscriptionType : subscription.getValue()) {
                final Object superElementTypeKey = toKey(subscriptionType);
                addInstanceListenerInternal(listener, subscriptionType, superElementTypeKey);
                final Set<Object> subTypeKeys = contentAdapter.getSubTypeMap().get(superElementTypeKey);
                if (subTypeKeys != null)
                    for (Object subTypeKey : subTypeKeys) {
                        addInstanceListenerInternal(listener, subscriptionType, subTypeKey);
                    }
            }
        }
    }
    return instanceListeners;
}

From source file:org.eclipse.incquery.runtime.base.core.NavigationHelperImpl.java

/**
 * @return the featureListeners// w ww  .j  a v  a  2s .com
 */
Table<Object, FeatureListener, Set<EStructuralFeature>> getFeatureListeners() {
    if (featureListeners == null) {
        featureListeners = HashBasedTable.create(100, 1);
        for (Entry<FeatureListener, Set<EStructuralFeature>> subscription : subscribedFeatureListeners
                .entrySet()) {
            final FeatureListener listener = subscription.getKey();
            for (EStructuralFeature subscriptionType : subscription.getValue()) {
                final Object elementTypeKey = toKey(subscriptionType);
                addFeatureListenerInternal(listener, subscriptionType, elementTypeKey);
            }
        }
    }
    return featureListeners;
}

From source file:org.eclipse.incquery.runtime.base.core.NavigationHelperImpl.java

/**
 * @return the dataTypeListeners//ww  w  . ja  v a  2  s . c  om
 */
Table<Object, DataTypeListener, Set<EDataType>> getDataTypeListeners() {
    if (dataTypeListeners == null) {
        dataTypeListeners = HashBasedTable.create(100, 1);
        for (Entry<DataTypeListener, Set<EDataType>> subscription : subscribedDataTypeListeners.entrySet()) {
            final DataTypeListener listener = subscription.getKey();
            for (EDataType subscriptionType : subscription.getValue()) {
                final Object elementTypeKey = toKey(subscriptionType);
                addDatatypeListenerInternal(listener, subscriptionType, elementTypeKey);
            }
        }
    }
    return dataTypeListeners;
}

From source file:org.eclipse.viatra.query.runtime.base.core.NavigationHelperImpl.java

/**
 * @return the instanceListeners/*  w ww . j  a  v a2 s.  com*/
 */
Table<Object, InstanceListener, Set<EClass>> getInstanceListeners() {
    if (instanceListeners == null) {
        instanceListeners = HashBasedTable.create(100, 1);
        for (Entry<InstanceListener, Set<EClass>> subscription : subscribedInstanceListeners.entrySet()) {
            final InstanceListener listener = subscription.getKey();
            for (EClass subscriptionType : subscription.getValue()) {
                final Object superElementTypeKey = toKey(subscriptionType);
                addInstanceListenerInternal(listener, subscriptionType, superElementTypeKey);
                final Set<Object> subTypeKeys = metaStore.getSubTypeMap().get(superElementTypeKey);
                if (subTypeKeys != null)
                    for (Object subTypeKey : subTypeKeys) {
                        addInstanceListenerInternal(listener, subscriptionType, subTypeKey);
                    }
            }
        }
    }
    return instanceListeners;
}