private Class<? extends ResourceState> getStateClass(String resourceType) { ComponentMeta meta = CompositeComponentRegistry.metaByType(resourceType); if (ComputeState.class.isAssignableFrom(meta.stateClass)) { return ComputeState.class; } return meta.stateClass; }
@Override public boolean isActive() { return compositeDescription.componentDescriptions.stream().map((cd) -> { return Utils.fromJson(cd.componentJson, CompositeComponentRegistry.metaByType(cd.type).descriptionClass); }).filter((cd) -> { return cd instanceof ContainerDescription && ((ContainerDescription) cd).portBindings != null; }).count() > 1; }
@Override public boolean isActive() { return compositeDescription.componentDescriptions.stream().map((cd) -> { return Utils.fromJson(cd.componentJson, CompositeComponentRegistry.metaByType(cd.type).descriptionClass); }).filter((item) -> { return item instanceof ContainerDescription && ((ContainerDescription) item).networks != null && !((ContainerDescription) item).networks.isEmpty(); }).count() > 1; }
public ServiceDocument getServiceDocument() { if (this.componentJson == null) { return null; } if (this.component == null) { this.component = Utils.fromJson(componentJson, CompositeComponentRegistry.metaByType(this.type).descriptionClass); } return component; }
private Map<String, List<ResourceNode>> buildExposedHostPortsMap() { Map<String, List<ResourceNode>> exposedHostPorts = new HashMap<String, List<ResourceNode>>(); for (final ComponentDescription cd : compositeDescription.componentDescriptions) { ResourceState resourceState = Utils.fromJson(cd.componentJson, CompositeComponentRegistry.metaByType(cd.type).descriptionClass); if (resourceState instanceof ContainerDescription) { ContainerDescription containerDescription = (ContainerDescription) resourceState; if (containerDescription.portBindings == null) { continue; } for (PortBinding port : containerDescription.portBindings) { if (port.hostPort == null || port.hostPort.isEmpty()) { continue; } ResourceNode resourceNode = resourceNodesByName.get(cd.name); if (exposedHostPorts.get(port.hostPort) == null) { exposedHostPorts.put(port.hostPort, new ArrayList<>()); } exposedHostPorts.get(port.hostPort).add(resourceNode); } } } return exposedHostPorts; } }
public static Class<?> getDescriptionClass(String type) { ResourceType resourceType = ResourceType.fromContentType(type); Class<?> clazz = CompositeComponentRegistry .metaByType(resourceType.getName()).descriptionClass; return clazz; }
@SuppressWarnings("unchecked") public static ComponentTemplate<?> deserializeComponent(Map<String, Object> obj, ObjectMapper objectMapper) { String contentType = (String) obj.get("type"); ResourceType resourceType = ResourceType.fromContentType(contentType); Class<? extends ResourceState> descriptionClass = CompositeComponentRegistry .metaByType(resourceType.getName()).descriptionClass; Map<String, Object> data = (Map<String, Object>) obj.get("data"); Map<String, NestedState> children = deserializeChildren(data, descriptionClass); ComponentTemplate<?> componentTemplate = objectMapper .convertValue(obj, ComponentTemplate.class); componentTemplate.children = children; return componentTemplate; }
.stream().map((cd) -> { return Utils.fromJson(cd.componentJson, CompositeComponentRegistry.metaByType(cd.type).descriptionClass); }).filter((item) -> { return item instanceof ContainerNetworkDescription }).map((cd) -> { return (ContainerDescription) Utils.fromJson(cd.componentJson, CompositeComponentRegistry.metaByType(cd.type).descriptionClass); }).collect(Collectors.toList());
assert (!obj.kind.isEmpty()); Class<? extends ResourceState> clazz = CompositeComponentRegistry.metaByType(obj.kind).stateClass; BaseKubernetesState k8sState = (BaseKubernetesState) Utils.fromJson(json, clazz);