public final <T> T getAncestor(final Class<T> clazz) { return getModel().getAncestor(clazz, this); }
<X extends ConfiguredObject<X>> Collection<X> getReachableObjects(final ConfiguredObject<?> object, final Class<X> clazz) { Class<? extends ConfiguredObject> category = ConfiguredObjectTypeRegistry.getCategory(object.getClass()); Class<? extends ConfiguredObject> ancestorClass = getAncestorClassWithGivenDescendant(category, clazz); if(ancestorClass != null) { ConfiguredObject ancestor = getAncestor(ancestorClass, category, object); if(ancestor != null) { return getAllDescendants(ancestor, ancestorClass, clazz); } } return null; }
public List<String> getPathAsList(final ConfiguredObject<?> object) { final List<Class<? extends ConfiguredObject>> hierarchy = _hierarchies.get(object.getCategoryClass()); List<String> pathElements = new ArrayList<>(); for (Class<? extends ConfiguredObject> ancestorClass : hierarchy) { pathElements.add(_model.getAncestor(ancestorClass, object).getName()); } return pathElements; }
public <C> C getAncestor(final Class<C> ancestorClass, final Class<? extends ConfiguredObject> category, final ConfiguredObject<?> object) { if(ancestorClass.isInstance(object)) { return (C) object; } else { Class<? extends ConfiguredObject> parentClass = getParentType(category); if(parentClass != null) { ConfiguredObject<?> parent = object.getParent(); C ancestor = getAncestor(ancestorClass, parentClass, parent); if (ancestor != null) { return ancestor; } } } return null; }
final ConfiguredObject ancestorOrSelf = _object.getModel().getAncestor(ancestorCategory, _object);
final ConfiguredObject<?> ancestor = o.getModel().getAncestor(entry.getKey(), o); match = ancestor != null && ancestor.getName().equals(entry.getValue()); if (!match)
@StateTransition(currentState = {State.UNINITIALIZED, State.QUIESCED, State.ERRORED}, desiredState = State.ACTIVE) @SuppressWarnings("unused") private ListenableFuture<Void> activate() { final boolean isManagementMode = getModel().getAncestor(SystemConfig.class, this).isManagementMode(); try { recreateAccessController(); setState(isManagementMode ? State.QUIESCED : State.ACTIVE); } catch (RuntimeException e) { setState(State.ERRORED); if (isManagementMode) { LOGGER.warn("Failed to activate ACL provider: " + getName(), e); } else { throw e; } } return Futures.immediateFuture(null); }
private static void assignJECacheSizes(ConfiguredObject<?> configuredObject) Broker<?> broker = configuredObject.getModel().getAncestor(Broker.class, configuredObject.getCategoryClass(), configuredObject);
private ObjectProperties createObjectPropertiesForMethod(final PermissionedObject permissionedObject, final String methodName) { ObjectProperties properties = new ObjectProperties(permissionedObject.getName()); properties.put(ObjectProperties.Property.METHOD_NAME, methodName); if (permissionedObject instanceof ConfiguredObject<?>) { ConfiguredObject<?> configuredObject = ((ConfiguredObject) permissionedObject); Model model = configuredObject.getModel(); VirtualHost<?> virtualHost = model.getAncestor(VirtualHost.class, configuredObject); final String componentName; if (virtualHost != null) { properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, virtualHost.getName()); componentName = buildHierarchicalCategoryName(configuredObject, virtualHost); } else { componentName = buildHierarchicalCategoryName(configuredObject, model.getAncestor(Broker.class, configuredObject)); } properties.put(ObjectProperties.Property.COMPONENT, componentName); final String createdBy = (String) configuredObject.getAttribute(ConfiguredObject.CREATED_BY); if (createdBy != null) { properties.put(ObjectProperties.Property.CREATED_BY, createdBy); } } return properties; }
ConfiguredObject<?> virtualHost = getModel().getAncestor(VirtualHost.class, object); properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, (String)virtualHost.getAttribute(VirtualHost.NAME));