Example usage for com.google.common.collect Sets newHashSetWithExpectedSize

List of usage examples for com.google.common.collect Sets newHashSetWithExpectedSize

Introduction

In this page you can find the example usage for com.google.common.collect Sets newHashSetWithExpectedSize.

Prototype

public static <E> HashSet<E> newHashSetWithExpectedSize(int expectedSize) 

Source Link

Document

Creates a HashSet instance, with a high enough initial table size that it should hold expectedSize elements without resizing.

Usage

From source file:com.opengamma.engine.depgraph.DependencyNode.java

/**
 * Returns the set of terminal output values produced by this node. This is a subset of {@link #getOutputValues}. After graph construction any output values that are not consumed by other nodes will
 * be pruned unless they are declared as terminal output values.
 * /* ww w . ja  va2  s.  c om*/
 * @return the set of output values, or the empty set if none
 */
public Set<ValueSpecification> getTerminalOutputValues() {
    final Set<ValueSpecification> outputs = Sets.newHashSetWithExpectedSize(_outputValues.size());
    for (Map.Entry<ValueSpecification, Boolean> output : _outputValues.entrySet()) {
        if (output.getValue() == Boolean.TRUE) {
            outputs.add(output.getKey());
        }
    }
    return outputs;
}

From source file:com.opengamma.financial.analytics.MissingInputsFunction.java

@Override
public Set<ValueSpecification> getResults(final FunctionCompilationContext context,
        final ComputationTarget target, final Map<ValueSpecification, ValueRequirement> inputs) {
    final Set<ValueSpecification> underlyingResults = getUnderlyingCompiled().getResults(context, target,
            inputs);// w ww .j a v  a  2 s  .c o  m
    if (underlyingResults == null) {
        s_logger.debug("Underlying returned null inputs {}", inputs);
        return null;
    }
    final String full = getAggregationStyleFull();
    final String missing = getAggregationStyleMissing();
    boolean resultFull = false;
    boolean resultMissing = false;
    for (ValueRequirement input : inputs.values()) {
        final Set<String> inputAgg = input.getConstraints().getValues(ValuePropertyNames.AGGREGATION);
        if (inputAgg != null) {
            if (inputAgg.contains(full)) {
                resultFull = true;
            }
            if (inputAgg.contains(missing)) {
                resultMissing = true;
            }
        }
    }
    if (!resultFull && !resultMissing) {
        resultFull = true;
        resultMissing = true;
    }
    final Set<ValueSpecification> results = Sets
            .newHashSetWithExpectedSize(underlyingResults.size() * ((resultFull && resultMissing) ? 2 : 1));
    for (final ValueSpecification underlyingResult : underlyingResults) {
        final ValueProperties properties = underlyingResult.getProperties();
        if ((properties.getProperties() != null) && properties.getProperties().isEmpty()) {
            results.add(underlyingResult);
        } else {
            final ValueProperties.Builder builder = properties.copy();
            if (resultFull) {
                builder.withoutAny(ValuePropertyNames.AGGREGATION).with(ValuePropertyNames.AGGREGATION,
                        getAggregationStyleFull());
                results.add(new ValueSpecification(underlyingResult.getValueName(),
                        underlyingResult.getTargetSpecification(), builder.get()));
            }
            if (resultMissing) {
                builder.withoutAny(ValuePropertyNames.AGGREGATION).with(ValuePropertyNames.AGGREGATION,
                        getAggregationStyleMissing());
                results.add(new ValueSpecification(underlyingResult.getValueName(),
                        underlyingResult.getTargetSpecification(), builder.get()));
            }
        }
    }
    s_logger.debug("Returning results {} for {}", results, inputs);
    return results;
}

From source file:com.attribyte.essem.model.StoredGraph.java

/**
 * Creates a stored graph from JSON./*  www  .  j  a  va  2 s. c o m*/
 * @param obj The JSON object.
 * @return The stored graph.
 * @throws IOException on parse error.
 */
public static final StoredGraph fromJSON(final JsonNode obj) throws IOException {
    String uid = getStringField(obj, "uid");
    String index = getStringField(obj, "index");
    String application = getStringField(obj, "application");
    String host = getStringField(obj, "host");
    String instance = getStringField(obj, "instance");
    String name = getStringField(obj, "name");
    String field = getStringField(obj, "field");
    MetricKey key = new MetricKey(name, application, host, instance, field);

    String downsampleFn = getStringField(obj, "downsampleFn");
    String rateUnit = getStringField(obj, "rateUnit");
    String range = getStringField(obj, "range");
    long startTimestamp = getLongField(obj, "startTimestamp", 0);
    long endTimestamp = getLongField(obj, "endTimestamp", 0);

    String title = getStringField(obj, "title");
    String description = getStringField(obj, "description");
    String xLabel = getStringField(obj, "xLabel");
    String yLabel = getStringField(obj, "yLabel");

    Set<String> tags = null;
    if (obj.has("tag")) {
        tags = Sets.newHashSetWithExpectedSize(8);
        JsonNode tagNode = obj.get("tag");
        if (tagNode.isArray()) {
            for (JsonNode arrNode : tagNode) {
                tags.add(arrNode.textValue());
            }
        } else if (tagNode.isTextual()) {
            tags.add(tagNode.textValue());
        }
    }

    String createdString = getStringField(obj, "created");
    Date createTime = Strings.isNullOrEmpty(createdString) ? new Date()
            : new Date(DateTime.fromStandardFormat(createdString));

    return new StoredGraph(index, uid, key, range, startTimestamp, endTimestamp, downsampleFn, rateUnit, title,
            description, xLabel, yLabel, tags, createTime);
}

From source file:com.opengamma.financial.analytics.model.equity.varianceswap.EquityVarianceSwapStaticReplicationFunction.java

@Override
public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context,
        final ComputationTarget target, final ValueRequirement desiredValue) {
    final ValueProperties constraints = desiredValue.getConstraints();
    final Set<String> curveNames = constraints.getValues(ValuePropertyNames.CURVE);
    if (curveNames == null || curveNames.size() != 1) {
        return null;
    }//from   w  w w  .  j  a va2s . c o m
    final Set<String> curveCalculationConfigs = constraints
            .getValues(ValuePropertyNames.CURVE_CALCULATION_CONFIG);
    if (curveCalculationConfigs == null || curveCalculationConfigs.size() != 1) {
        return null;
    }
    final Set<String> surfaceNames = constraints.getValues(ValuePropertyNames.SURFACE);
    if (surfaceNames == null || surfaceNames.size() != 1) {
        return null;
    }
    final String curveName = Iterables.getOnlyElement(curveNames);
    final String curveCalculationConfig = Iterables.getOnlyElement(curveCalculationConfigs);
    final String surfaceName = Iterables.getOnlyElement(surfaceNames);
    final EquityVarianceSwapSecurity security = (EquityVarianceSwapSecurity) target.getSecurity();
    final Set<ValueRequirement> requirements = Sets.newHashSetWithExpectedSize(4);
    requirements.add(getDiscountCurveRequirement(security, curveName, curveCalculationConfig));
    requirements.add(getSpotRequirement(security));
    requirements.add(getVolatilitySurfaceRequirement(security, surfaceName));
    final ValueRequirement requirement = getTimeSeriesRequirement(context, security);
    if (requirement == null) {
        return null;
    }
    requirements.add(requirement);
    return requirements;
}

From source file:com.android.tools.idea.model.MergedManifest.java

protected void syncWithReadPermission() {
    AndroidFacet facet = AndroidFacet.getInstance(myModule);
    assert facet != null : "Attempt to obtain manifest info from a non Android module: " + myModule.getName();

    if (myManifestFile == null) {
        myManifestFile = ManifestInfo.ManifestFile.create(facet);
    }//  w w  w . j av a 2s.c o m

    // Check to see if our data is up to date
    boolean refresh = myManifestFile.refresh();
    if (!refresh) {
        // Already have up to date data
        return;
    }

    myActivityAttributesMap = new HashMap<String, ActivityAttributes>();
    myManifestTheme = null;
    myTargetSdk = AndroidVersion.DEFAULT;
    myMinSdk = AndroidVersion.DEFAULT;
    myPackage = ""; //$NON-NLS-1$
    myApplicationId = ""; //$NON-NLS-1$
    myVersionCode = null;
    myApplicationIcon = null;
    myApplicationLabel = null;
    myApplicationSupportsRtl = false;
    myNodeKeys = null;
    myActivities = Lists.newArrayList();
    myActivityAliases = Lists.newArrayListWithExpectedSize(4);
    myServices = Lists.newArrayListWithExpectedSize(4);
    Set<String> permissions = Sets.newHashSetWithExpectedSize(30);
    Set<String> revocable = Sets.newHashSetWithExpectedSize(2);

    try {
        Document document = myManifestFile.getXmlDocument();
        if (document == null) {
            return;
        }
        myDocument = document;
        myManifestFiles = myManifestFile.getManifestFiles();

        Element root = document.getDocumentElement();
        if (root == null) {
            return;
        }

        myApplicationId = getAttributeValue(root, null, ATTRIBUTE_PACKAGE);

        // The package comes from the main manifest, NOT from the merged manifest.
        Manifest manifest = facet.getManifest();
        myPackage = manifest == null ? myApplicationId : manifest.getPackage().getValue();

        String versionCode = getAttributeValue(root, ANDROID_URI, SdkConstants.ATTR_VERSION_CODE);
        try {
            myVersionCode = Integer.valueOf(versionCode);
        } catch (NumberFormatException ignored) {
        }

        Node node = root.getFirstChild();
        while (node != null) {
            if (node.getNodeType() == Node.ELEMENT_NODE) {
                String nodeName = node.getNodeName();
                if (NODE_APPLICATION.equals(nodeName)) {
                    Element application = (Element) node;
                    myApplicationIcon = getAttributeValue(application, ANDROID_URI, ATTRIBUTE_ICON);
                    myApplicationLabel = getAttributeValue(application, ANDROID_URI, ATTRIBUTE_LABEL);
                    myManifestTheme = getAttributeValue(application, ANDROID_URI, ATTRIBUTE_THEME);
                    myApplicationSupportsRtl = VALUE_TRUE
                            .equals(getAttributeValue(application, ANDROID_URI, ATTRIBUTE_SUPPORTS_RTL));

                    String debuggable = getAttributeValue(application, ANDROID_URI, ATTRIBUTE_DEBUGGABLE);
                    myApplicationDebuggable = debuggable == null ? null : VALUE_TRUE.equals(debuggable);

                    Node child = node.getFirstChild();
                    while (child != null) {
                        if (child.getNodeType() == Node.ELEMENT_NODE) {
                            String childNodeName = child.getNodeName();
                            if (NODE_ACTIVITY.equals(childNodeName)) {
                                Element element = (Element) child;
                                ActivityAttributes attributes = new ActivityAttributes(element,
                                        myApplicationId);
                                myActivityAttributesMap.put(attributes.getName(), attributes);
                                myActivities.add(element);
                            } else if (NODE_ACTIVITY_ALIAS.equals(childNodeName)) {
                                myActivityAliases.add((Element) child);
                            } else if (NODE_SERVICE.equals(childNodeName)) {
                                myServices.add((Element) child);
                            }
                        }
                        child = child.getNextSibling();
                    }
                } else if (NODE_USES_SDK.equals(nodeName)) {
                    // Look up target SDK
                    Element usesSdk = (Element) node;
                    myMinSdk = getApiVersion(usesSdk, ATTRIBUTE_MIN_SDK_VERSION, AndroidVersion.DEFAULT);
                    myTargetSdk = getApiVersion(usesSdk, ATTRIBUTE_TARGET_SDK_VERSION, myMinSdk);
                } else if (TAG_USES_PERMISSION.equals(nodeName) || TAG_USES_PERMISSION_SDK_23.equals(nodeName)
                        || TAG_USES_PERMISSION_SDK_M.equals(nodeName)) {
                    Element element = (Element) node;
                    String name = element.getAttributeNS(ANDROID_URI, ATTR_NAME);
                    if (!name.isEmpty()) {
                        permissions.add(name);
                    }
                } else if (nodeName.equals(TAG_PERMISSION)) {
                    Element element = (Element) node;
                    String protectionLevel = element.getAttributeNS(ANDROID_URI, ATTR_PROTECTION_LEVEL);
                    if (VALUE_DANGEROUS.equals(protectionLevel)) {
                        String name = element.getAttributeNS(ANDROID_URI, ATTR_NAME);
                        if (!name.isEmpty()) {
                            revocable.add(name);
                        }
                    }
                }
            }

            node = node.getNextSibling();
        }
        myPermissionHolder = new ModulePermissions(ImmutableSet.copyOf(permissions),
                ImmutableSet.copyOf(revocable));
    } catch (ProcessCanceledException e) {
        myManifestFile = null; // clear the file, to make sure we reload everything on next call to this method
        myDocument = null;
        throw e;
    } catch (Exception e) {
        Logger.getInstance(MergedManifest.class).warn("Could not read Manifest data", e);
    }
}

From source file:com.opengamma.financial.analytics.model.fixedincome.BondTradeCurveSpecificFunction.java

@Override
public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context,
        final ComputationTarget target, final ValueRequirement desiredValue) {
    final ValueProperties constraints = desiredValue.getConstraints();
    Set<String> requestedCurveNames = constraints.getValues(ValuePropertyNames.CURVE);
    final boolean permissive = OpenGammaCompilationContext.isPermissive(context);
    if (!permissive && ((requestedCurveNames == null) || requestedCurveNames.isEmpty())) {
        s_logger.debug("Must specify a curve name");
        return null;
    }//from w w  w.  j ava  2 s . c o m
    final Set<String> curveCalculationConfigNames = constraints
            .getValues(ValuePropertyNames.CURVE_CALCULATION_CONFIG);
    if (curveCalculationConfigNames == null || curveCalculationConfigNames.size() != 1) {
        s_logger.debug("Must specify a curve calculation config");
        return null;
    }
    final String curveCalculationConfigName = curveCalculationConfigNames.iterator().next();
    final ConfigSource configSource = OpenGammaCompilationContext.getConfigSource(context);
    final ConfigDBCurveCalculationConfigSource curveCalculationConfigSource = new ConfigDBCurveCalculationConfigSource(
            configSource);
    final MultiCurveCalculationConfig curveCalculationConfig = curveCalculationConfigSource
            .getConfig(curveCalculationConfigName);
    if (curveCalculationConfig == null) {
        s_logger.debug("Could not find curve calculation configuration named " + curveCalculationConfigName);
        return null;
    }
    final FinancialSecurity security = (FinancialSecurity) target.getTrade().getSecurity();
    final Currency currency = FinancialSecurityUtils.getCurrency(security);
    if (!ComputationTargetSpecification.of(currency).equals(curveCalculationConfig.getTarget())) {
        s_logger.error("Security currency and curve calculation config id were not equal; have {} and {}",
                currency, curveCalculationConfig.getTarget());
        return null;
    }
    final String[] availableCurveNames = curveCalculationConfig.getYieldCurveNames();
    if ((requestedCurveNames == null) || requestedCurveNames.isEmpty()) {
        requestedCurveNames = Sets.newHashSet(availableCurveNames);
    } else {
        final Set<String> intersection = YieldCurveFunctionUtils.intersection(requestedCurveNames,
                availableCurveNames);
        if (intersection.isEmpty()) {
            s_logger.debug(
                    "None of the requested curves {} are available in curve calculation configuration called {}",
                    requestedCurveNames, curveCalculationConfigName);
            return null;
        }
        requestedCurveNames = intersection;
    }
    final String[] applicableCurveNames = FixedIncomeInstrumentCurveExposureHelper
            .getCurveNamesForSecurity(security, availableCurveNames);
    final Set<String> curveNames = YieldCurveFunctionUtils.intersection(requestedCurveNames,
            applicableCurveNames);
    if (curveNames.isEmpty()) {
        s_logger.debug("{} {} security is not sensitive to the curves {}",
                new Object[] { currency, security.getClass(), curveNames });
        return null;
    }
    if (!permissive && (curveNames.size() != 1)) {
        s_logger.debug("Must specify single curve name constraint, got {}", curveNames);
        return null;
    }
    final String curve = curveNames.iterator().next();
    final Set<ValueRequirement> curveRequirements = YieldCurveFunctionUtils
            .getCurveRequirements(curveCalculationConfig, curveCalculationConfigSource);
    final Set<ValueRequirement> requirements = Sets.newHashSetWithExpectedSize(curveRequirements.size());
    for (final ValueRequirement curveRequirement : curveRequirements) {
        final ValueProperties.Builder properties = curveRequirement.getConstraints().copy();
        properties.with(PROPERTY_REQUESTED_CURVE, curve).withOptional(PROPERTY_REQUESTED_CURVE);
        requirements.add(new ValueRequirement(curveRequirement.getValueName(),
                curveRequirement.getTargetReference(), properties.get()));
    }
    try {
        final Set<ValueRequirement> timeSeriesRequirements = InterestRateInstrumentFunction
                .getDerivativeTimeSeriesRequirements(security, security.accept(_visitor), _definitionConverter);
        if (timeSeriesRequirements == null) {
            return null;
        }
        requirements.addAll(timeSeriesRequirements);
        return requirements;
    } catch (final Exception e) {
        s_logger.error(e.getMessage());
        return null;
    }
}

From source file:com.opengamma.financial.analytics.model.swaption.deprecated.SwaptionBlackYieldCurveNodeSensitivitiesFunctionDeprecated.java

@Override
public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context,
        final ComputationTarget target, final ValueRequirement desiredValue) {
    final ValueProperties constraints = desiredValue.getConstraints();
    final Set<String> forwardCurveNames = constraints.getValues(YieldCurveFunction.PROPERTY_FORWARD_CURVE);
    if (forwardCurveNames == null || forwardCurveNames.size() != 1) {
        return null;
    }/*from   ww w.  ja va 2  s.c om*/
    final Set<String> fundingCurveNames = constraints.getValues(YieldCurveFunction.PROPERTY_FUNDING_CURVE);
    if (fundingCurveNames == null || fundingCurveNames.size() != 1) {
        return null;
    }
    final Set<String> surfaceNames = constraints.getValues(ValuePropertyNames.SURFACE);
    if (surfaceNames == null || surfaceNames.size() != 1) {
        return null;
    }
    final Set<String> curveCalculationMethods = constraints
            .getValues(ValuePropertyNames.CURVE_CALCULATION_METHOD);
    if (curveCalculationMethods == null || curveCalculationMethods.size() != 1) {
        return null;
    }
    final Set<String> curves = desiredValue.getConstraints().getValues(ValuePropertyNames.CURVE);
    final String forwardCurveName = forwardCurveNames.iterator().next();
    final String fundingCurveName = fundingCurveNames.iterator().next();
    final String curveName;
    if ((curves == null) || curves.isEmpty()) {
        // Curve not constrained, so make arbitrary choice.
        curveName = forwardCurveName;
    } else {
        if (curves.contains(forwardCurveName)) {
            curveName = forwardCurveName;
        } else if (curves.contains(fundingCurveName)) {
            curveName = fundingCurveName;
        } else {
            // Instrument isn't sensitive to the requested curve.
            return null;
        }
    }
    final String surfaceName = surfaceNames.iterator().next();
    final String curveCalculationMethod = curveCalculationMethods.iterator().next();
    final Set<ValueRequirement> requirements = Sets.newHashSetWithExpectedSize(4);
    final Currency currency = FinancialSecurityUtils.getCurrency(target.getSecurity());
    requirements.add(getCurveRequirement(forwardCurveName, forwardCurveName, fundingCurveName,
            curveCalculationMethod, currency));
    requirements.add(getCurveRequirement(fundingCurveName, forwardCurveName, fundingCurveName,
            curveCalculationMethod, currency));
    requirements.add(getCurveSpecRequirement(target, curveName));
    if (!curveCalculationMethod.equals(InterpolatedDataProperties.CALCULATION_METHOD_NAME)) {
        requirements.add(
                getJacobianRequirement(target, forwardCurveName, fundingCurveName, curveCalculationMethod));
        if (curveCalculationMethod.equals(MarketInstrumentImpliedYieldCurveFunction.PRESENT_VALUE_STRING)) {
            requirements.add(getCouponSensitivityRequirement(target, forwardCurveName, fundingCurveName));
        }
    }
    requirements.add(getVolatilityRequirement(surfaceName, currency));
    return requirements;
}

From source file:com.opengamma.engine.marketdata.live.InMemoryLKVLiveMarketDataProvider.java

@Override
public void unsubscribe(final Set<ValueSpecification> valueSpecifications) {
    final Set<LiveDataSpecification> liveDataSpecs = Sets
            .newHashSetWithExpectedSize(valueSpecifications.size());
    // Serialize all subscribes/unsubscribes 
    synchronized (_liveDataClient) {
        synchronized (_activeSubscriptions) {
            for (final ValueSpecification valueSpecification : valueSpecifications) {
                Subscription subscription = _allSubscriptions.get(valueSpecification);
                if (subscription != null) {
                    if (subscription.decrementCount(valueSpecification)) {
                        _allSubscriptions.remove(valueSpecification);

                        if (subscription.isUnsubscribed()) {
                            final LiveDataSpecification requestedLiveData = subscription.getRequestedLiveData();
                            if (requestedLiveData != null) {
                                _activeSubscriptions.remove(requestedLiveData);

                                final LiveDataSpecification actualLiveData = subscription
                                        .getFullyQualifiedLiveData();
                                if (actualLiveData != null) {
                                    if (actualLiveData != requestedLiveData) {
                                        _activeSubscriptions.remove(actualLiveData);
                                    }/*w  ww .  j a  v  a  2  s  .co  m*/
                                    liveDataSpecs.add(actualLiveData);
                                }
                            }
                        }
                    }
                }
            }
        }
        if (!liveDataSpecs.isEmpty()) {
            s_logger.info("Unsubscribing {} from {} live data specifications", _marketDataUser,
                    liveDataSpecs.size());
            _liveDataClient.unsubscribe(_marketDataUser, liveDataSpecs, this);
        }
    }
}

From source file:com.android.tools.idea.rendering.AppResourceRepository.java

@NotNull
Set<String> getAllIds() {
    long currentModCount = getModificationCount();
    if (myIdsModificationCount < currentModCount) {
        myIdsModificationCount = currentModCount;
        if (myIds == null) {
            int size = 0;
            for (FileResourceRepository library : myLibraries) {
                if (library.getAllDeclaredIds() != null) {
                    size += library.getAllDeclaredIds().size();
                }//from  w w  w .ja v a  2s.co  m
            }
            myIds = Sets.newHashSetWithExpectedSize(size);
        } else {
            myIds.clear();
        }
        for (FileResourceRepository library : myLibraries) {
            if (library.getAllDeclaredIds() != null) {
                myIds.addAll(library.getAllDeclaredIds());
            }
        }
        // Also add all ids from resource types, just in case it contains things that are not in the libraries.
        myIds.addAll(getItemsOfType(ResourceType.ID));
    }
    return myIds;
}

From source file:org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl.java

/**
 * Gets initial volume failure information for all volumes that failed
 * immediately at startup.  The method works by determining the set difference
 * between all configured storage locations and the actual storage locations in
 * use after attempting to put all of them into service.
 *
 * @return each storage location that has failed
 *//*w  w  w . j  a  v  a  2  s .  co m*/
private static List<VolumeFailureInfo> getInitialVolumeFailureInfos(Collection<StorageLocation> dataLocations,
        DataStorage storage) {
    Set<String> failedLocationSet = Sets.newHashSetWithExpectedSize(dataLocations.size());
    for (StorageLocation sl : dataLocations) {
        failedLocationSet.add(sl.getFile().getAbsolutePath());
    }
    for (Iterator<Storage.StorageDirectory> it = storage.dirIterator(); it.hasNext();) {
        Storage.StorageDirectory sd = it.next();
        failedLocationSet.remove(sd.getRoot().getAbsolutePath());
    }
    List<VolumeFailureInfo> volumeFailureInfos = Lists.newArrayListWithCapacity(failedLocationSet.size());
    long failureDate = Time.now();
    for (String failedStorageLocation : failedLocationSet) {
        volumeFailureInfos.add(new VolumeFailureInfo(failedStorageLocation, failureDate));
    }
    return volumeFailureInfos;
}