final Optional<Container> plugin = manager.findPlugin(meta.getParent().getPlugin()); if (!plugin.isPresent()) { return Response .status(Response.Status.NOT_FOUND) .entity(new ErrorPayload(ErrorDictionary.PLUGIN_MISSING, "No plugin '" + meta.getParent().getPlugin() + "' for identifier: " + id)) .type(APPLICATION_JSON_TYPE) .build();
final Container container = ofNullable(componentDao.findById(id)) .map(meta -> manager .findPlugin(meta.getParent().getPlugin()) .orElseThrow(() -> new WebApplicationException(Response .status(NOT_FOUND) .entity(new ErrorPayload(ErrorDictionary.PLUGIN_MISSING, "No plugin '" + meta.getParent().getPlugin() + "'")) .build()))) .orElseThrow(() -> new WebApplicationException(Response
.map(id -> componentDao.findById(id)) .collect(toMap(ComponentFamilyMeta.BaseMeta::getId, meta -> componentManagerService.manager().findPlugin(meta.getParent().getPlugin()).map(c -> { ComponentExtension.ComponentContext context = c.get(ComponentContexts.class).getContexts().get(meta.getType());
return null; })).filter(Objects::nonNull).map(meta -> { final Optional<Container> plugin = manager.findPlugin(meta.getParent().getPlugin()); if (!plugin.isPresent()) { errors .put(meta.getId(), new ErrorPayload(PLUGIN_MISSING, "No plugin '" + meta.getParent().getPlugin() + "'")); return null; componentDetail .setActions(actionsService .findActions(meta.getParent().getName(), container, locale, meta, meta.getParent().findBundle(container.getLoader(), locale)));
file = componentManagerService .manager() .findPlugin(component.getParent().getPlugin()) .orElseThrow(() -> new WebApplicationException(Response .status(Response.Status.NOT_FOUND)
final ClassLoader loader = container.getLoader(); final String icon = meta.getIcon(); final String familyIcon = meta.getParent().getIcon(); final IconResolver.Icon iconContent = iconResolver.resolve(container, icon); final IconResolver.Icon iconFamilyContent = iconResolver.resolve(container, familyIcon); final String familyDisplayName = meta.getParent().findBundle(loader, locale).displayName().orElse(meta.getParent().getName()); final List<String> categories = ofNullable(meta.getParent().getCategories()) .map(vals -> vals .stream() .map(this::normalizeCategory) .map(category -> category.replace("${family}", meta.getParent().getName())) // not .getParent() .findBundle(loader, locale) .category(category) .orElseGet(() -> category .replace("/" + meta.getParent().getName() + "/", "/" + familyDisplayName + "/"))) .collect(toList())) .orElseGet(Collections::emptyList); return new ComponentIndex( new ComponentId(meta.getId(), meta.getParent().getId(), plugin, ofNullable(originalId).map(ComponentManager.OriginalId::getValue).orElse(plugin), meta.getParent().getName(), meta.getName()), meta.findBundle(loader, locale).displayName().orElse(meta.getName()), familyDisplayName, new Icon(icon, iconContent == null ? null : iconContent.getType(),
public Set<ActionReference> getActionReference(final ComponentFamilyMeta.BaseMeta<Object> meta, final FamilyBundle familyBundle) { return getActionReference(toStream(meta.getParameterMetas()), meta.getParent().getName(), familyBundle); }
private ComponentId createMetaId(final Container container, final ComponentFamilyMeta.BaseMeta<Object> meta) { return new ComponentId(meta.getId(), meta.getParent().getId(), meta.getParent().getPlugin(), ofNullable(container.get(ComponentManager.OriginalId.class)) .map(ComponentManager.OriginalId::getValue) .orElse(container.getId()), meta.getParent().getName(), meta.getName()); }