Maybe<Object> raw2 = config().getRaw(PROVISIONING_PROPERTIES); if (raw2.isPresentAndNonNull()) { Object pp = raw2.get();
@Override public Entity resolveTarget() { Entity anchor = config().get(ANCHOR); if (anchor == null) { Maybe<Entity> resolvedTarget = tryResolveTarget(); if (resolvedTarget.isPresent()) { anchor = resolvedTarget.get(); } else { throw new IllegalArgumentException("No anchor entity found for " + this); } } sensors().set(ANCHOR, anchor); Maybe<Object> component = config().getRaw(COMPONENT); if (component.isAbsentOrNull()) { throw new IllegalArgumentException("No component found for " + this); } else if (!(component.get() instanceof DslComponent)) { throw new IllegalArgumentException("Expected DslComponent value for component, found " + component.get()); } DslComponent finder = DslComponent.class.cast(component.get()); Task<Entity> task = Entities.submit(anchor, finder); return task.getUnchecked(); }
protected void computePortsAndUrls() { AttributeSensor<String> hostAndPortSensor = getConfig(HOST_AND_PORT_SENSOR); Maybe<Object> hostnameSensor = config().getRaw(HOSTNAME_SENSOR); Maybe<Object> portSensor = config().getRaw(PORT_NUMBER_SENSOR); if (hostAndPortSensor != null) { checkState(!hostnameSensor.isPresent() && !portSensor.isPresent(), "Must not set %s and either of %s or %s", HOST_AND_PORT_SENSOR, HOSTNAME_SENSOR, PORT_NUMBER_SENSOR); } ConfigToAttributes.apply(this); sensors().set(PROTOCOL, inferProtocol()); sensors().set(MAIN_URI, createUriOrNull(inferUrl())); sensors().set(MAIN_URI_MAPPED_SUBNET, createUriOrNull(inferUrlForSubnet())); sensors().set(MAIN_URI_MAPPED_PUBLIC, createUriOrNull(inferUrlForPublic())); sensors().set(ROOT_URL, inferUrl()); checkNotNull(getPortNumberSensor(), "no sensor configured to infer port number"); }
@Override protected void initEnrichers() { if (config().getRaw(UP_QUORUM_CHECK).isAbsent() && Preconditions.checkNotNull(getConfig(INITIAL_SIZE), "Cluster initial size overridden to be null. Must be set explicitly.")==0) { // if initial size is 0 then override up check to allow zero if empty config().set(UP_QUORUM_CHECK, QuorumChecks.atLeastOneUnlessEmpty()); sensors().set(ServiceStateLogic.SERVICE_NOT_UP_INDICATORS, MutableMap.<String, Object>of()); sensors().set(SERVICE_UP, true); } else { sensors().set(SERVICE_UP, false); } super.initEnrichers(); // override previous enricher so that only members are checked ServiceStateLogic.newEnricherFromChildrenUp().checkMembersOnly().requireUpChildren(getConfig(UP_QUORUM_CHECK)).addTo(this); }