@Override public Task<?> getSubmittedByTask() { if (submittedByTask==null) return null; return submittedByTask.orNull(); }
@Override public T orNull() { T result = value.get(); if (result!=null) return result; if (defaultValue==null) return null; return defaultValue.orNull(); } @Override
@Override public String get() { return managementContext.getManagementPlaneIdMaybe().orNull(); } }
private long sizeOfActiveReferences(List<Maybe<byte[]>> references) { long size = 0; for (Maybe<byte[]> ref: references) { byte[] deref = ref.orNull(); if (deref!=null) size += deref.length; } return size; }
/** @deprecated since 0.9.0 use {@link BrooklynRestResourceUtils#getProblemMessageIfServerNotRunning(ManagementContext)} */ @Deprecated public static String lookForProblemIfServerNotRunning(ManagementContext mgmt) { return HaHotCheckHelperAbstract.getProblemMessageIfServerNotRunning(mgmt).orNull(); }
@Override public RegisteredType get(String symbolicNameWithOptionalVersion, RegisteredTypeLoadingContext context) { return getMaybe(symbolicNameWithOptionalVersion, context).orNull(); } @Override
/** gets a value from a string-valued key or null; ConfigKey is preferred, but this is useful in some contexts (e.g. setting from flags) */ public Object getStringKey(String key) { return getStringKeyMaybe(key).orNull(); } /** gets a {@link Maybe}-wrapped value from a string-valued key; ConfigKey is preferred, but this is useful in some contexts (e.g. setting from flags) */
@Override public T apply(String input) { return valueOfIgnoreCase(type, input).orNull(); } }
/** * Finds the resource with the given name. * @see {@link #loadClass(String)} for loading order * * @return null when no resource is found */ public URL getResource(String name) { return load(stripLeadingSlash(name), ResourceLoaderDispatcher.INSTANCE).orNull(); }
protected <T> T get(ConfigKey<T> key, boolean markUsed) { // TODO for now, no evaluation -- maps / closure content / other smart (self-extracting) keys are NOT supported // (need a clean way to inject that behaviour, as well as desired TypeCoercions) // this method, and the coercion, is not synchronized, nor does it need to be, because the "get" is synchronized. Maybe<Object> val = getKeyMaybe(key, markUsed); return coerceFirstNonNullKeyValue(key, val.orNull()); }
/** look for the REST WAR file in common places, returning path to it if found, or null */ private static String findRestApiWar() { // don't look at src/main/webapp here -- because classes won't be there! // could also look in maven repo ? // TODO looks like this stopped working at runtime a long time ago; // only needed for WEB_XML mode, and not used, but should remove or check? // (probably will be superseded by CXF/OSGi work however) return findMatchingFile("../rest/target/*.war").orNull(); }
public Object getValueOrNullPreferringFlag() { return getFlagMaybeValue().or(getConfigKeyMaybeValue()).orNull(); } /** true if value is present for either flag or config key */
public Object getValueOrNullPreferringConfigKey() { return getConfigKeyMaybeValue().or(getFlagMaybeValue()).orNull(); } public Object getValueOrNullPreferringFlag() {
/** @see BrooklynServerPaths#getMgmtBaseDir(ManagementContext) */ @SuppressWarnings("deprecation") public static String getMgmtBaseDir(StringConfigMap brooklynProperties) { String base = (String) brooklynProperties.getConfigLocalRaw(BrooklynServerConfig.MGMT_BASE_DIR).orNull(); if (base==null) { base = brooklynProperties.getConfig(BrooklynServerConfig.BROOKLYN_DATA_DIR); if (base!=null) log.warn("Using deprecated "+BrooklynServerConfig.BROOKLYN_DATA_DIR.getName()+": use "+BrooklynServerConfig.MGMT_BASE_DIR.getName()+" instead; value: "+base); } if (base==null) base = brooklynProperties.getConfig(BrooklynServerConfig.MGMT_BASE_DIR); return Os.tidyPath(base)+File.separator; } /** @see BrooklynServerPaths#getMgmtBaseDir(ManagementContext) */
public int getPort() { Maybe<Object> raw = config().getRaw(WinRmTool.PROP_PORT); if (raw.orNull() == null && config().getRaw(WINRM_CONFIG_PORT).orNull() != null) { return config().get(WINRM_CONFIG_PORT); } else { Integer result = config().get(WinRmTool.PROP_PORT); return (result != null) ? result : getDefaultPort(); } }
@Override public TValue get() { if (resolve().isPresent()) return resolve().get(); return getDefaultValue().orNull(); }
protected String getExplanation(Maybe<Lifecycle> state) { Duration serviceFailedStabilizationDelay = getConfig(ENTITY_FAILED_STABILIZATION_DELAY); Duration serviceRecoveredStabilizationDelay = getConfig(ENTITY_RECOVERED_STABILIZATION_DELAY); return String.format("location=%s; status=%s; lastPublished=%s; timeNow=%s; "+ "currentFailurePeriod=%s; currentRecoveryPeriod=%s", entity.getLocations(), (state.orNull() != null ? state : "<unreported>"), config().get(LAST_PUBLISHED), Time.makeDateString(System.currentTimeMillis()), (currentFailureStartTime != null ? getTimeStringSince(currentFailureStartTime) : "<none>") + " (stabilization "+Time.makeTimeStringRounded(serviceFailedStabilizationDelay) + ")", (currentRecoveryStartTime != null ? getTimeStringSince(currentRecoveryStartTime) : "<none>") + " (stabilization "+Time.makeTimeStringRounded(serviceRecoveredStabilizationDelay) + ")"); }
public static Maybe<CatalogBundle> resolve(ManagementContext mgmt, CatalogBundle b) { if (b.isNameResolved()) return Maybe.of(b); OsgiManager osgi = ((ManagementContextInternal)mgmt).getOsgiManager().orNull(); if (osgi==null) return Maybe.absent("No OSGi manager"); Maybe<Bundle> b2 = osgi.findBundle(b); if (b2.isAbsent()) return Maybe.absent("Nothing installed for "+b); return Maybe.of(new CatalogBundleDto(b2.get().getSymbolicName(), b2.get().getVersion().toString(), b.getUrl())); }