Ejemplo n.º 1
0
  /**
   * @deprecated since it was introduced in 0.9.0; for backwards compatibility only, may be removed
   *     at any point
   */
  @Deprecated
  public static RegisteredType of(CatalogItem<?, ?> item) {
    if (item == null) return null;
    TypeImplementationPlan impl = null;
    if (item.getPlanYaml() != null) {
      impl = new BasicTypeImplementationPlan(null, item.getPlanYaml());
    } else if (item.getJavaType() != null) {
      impl = new JavaClassNameTypeImplementationPlan(item.getJavaType());
    } else {
      throw new IllegalStateException(
          "Unsupported catalog item " + item + " when trying to create RegisteredType");
    }

    BasicRegisteredType type =
        (BasicRegisteredType)
            spec(item.getSymbolicName(), item.getVersion(), impl, item.getCatalogItemJavaType());
    type.displayName = item.getDisplayName();
    type.description = item.getDescription();
    type.iconUrl = item.getIconUrl();

    type.disabled = item.isDisabled();
    type.deprecated = item.isDeprecated();
    if (item.getLibraries() != null) type.bundles.addAll(item.getLibraries());
    // aliases aren't on item
    if (item.tags() != null) type.tags.addAll(item.tags().getTags());

    // these things from item we ignore: javaType, specType, registeredTypeName ...
    return type;
  }