Skip to content

Commit d4425e4

Browse files
committed
Add keywords, sinceVersion
1 parent b049b11 commit d4425e4

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

application/src/de/philippkatz/knime/jsondocgen/JsonNodeDocuGenerator.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ private static void processPorts(Collection<Class<? extends PortObject>> portObj
423423
* @return true, if the element was added to the documentation, false if it has
424424
* been skipped
425425
*/
426-
@SuppressWarnings("restriction")
426+
@SuppressWarnings({ "restriction", "unchecked" })
427427
private boolean generate(final File directory, final IRepositoryObject current, final IRepositoryObject parent,
428428
CategoryDocBuilder parentCategory) throws TransformerException, Exception {
429429

@@ -477,6 +477,11 @@ private boolean generate(final File directory, final IRepositoryObject current,
477477
} catch (Throwable t) {
478478
LOGGER.warn(String.format("Could not create NodeModel for %s", factory.getClass().getName()), t);
479479
}
480+
481+
Node node = new Node((NodeFactory<NodeModel>) factory);
482+
var nodeDescription = node.invokeGetNodeDescription();
483+
builder.setKeywords(Arrays.asList(nodeDescription.getKeywords()));
484+
builder.setSinceVersion(nodeDescription.getSinceVersion().map(v -> v.toString()).orElse(null));
480485

481486
builder.setHasModernDialog(hasModernDialog(factory));
482487
// since KNIME 5.5 (?)

application/src/de/philippkatz/knime/jsondocgen/docs/NodeDoc.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ public static final class NodeDocBuilder extends AbstractDocBuilder {
3131
private boolean hasModernDialog;
3232
/** @since v1.15 */
3333
private boolean hasKaiInterface;
34+
/** @since v1.15 */
35+
private List<String> keywords;
36+
/** @since v1.15 */
37+
private String sinceVersion;
3438
public NodeDocBuilder setIntro(String intro) {
3539
this.intro = intro;
3640
return this;
@@ -117,8 +121,16 @@ public NodeDocBuilder setHasKaiInterface(boolean hasKaiInterface) {
117121
this.hasKaiInterface = hasKaiInterface;
118122
return this;
119123
}
124+
public NodeDocBuilder setKeywords(List<String> keywords) {
125+
this.keywords = keywords;
126+
return this;
127+
}
128+
public NodeDocBuilder setSinceVersion(String sinceVersion) {
129+
this.sinceVersion = sinceVersion;
130+
return this;
131+
}
120132
}
121-
133+
122134
public static final class OptionTab {
123135
public final String name;
124136
public final String description;
@@ -229,6 +241,10 @@ public DynamicPortGroup(Integer insertBefore, String name, String groupIdentifie
229241
public final boolean hasModernDialog;
230242
/** @since v1.15 */
231243
public final boolean hasKaiInterface;
244+
/** @since v1.15 */
245+
public final List<String> keywords;
246+
/** @since v1.15 */
247+
public final String sinceVersion;
232248

233249
private NodeDoc(NodeDocBuilder builder) {
234250
super(builder);
@@ -250,6 +266,8 @@ private NodeDoc(NodeDocBuilder builder) {
250266
dynamicOutPorts = copyOrNull(builder.dynamicOutPorts);
251267
hasModernDialog = builder.hasModernDialog;
252268
hasKaiInterface = builder.hasKaiInterface;
269+
keywords = copyOrNull(builder.keywords);
270+
sinceVersion = builder.sinceVersion;
253271
}
254272

255273
private static List<String> convert(List<Port> ports) {

0 commit comments

Comments
 (0)