List of usage examples for com.google.common.collect Sets newHashSetWithExpectedSize
public static <E> HashSet<E> newHashSetWithExpectedSize(int expectedSize)
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; }