// If there is no design description of the input,
// show the description of the gem argument instead.
FunctionalAgentGem faGem = (FunctionalAgentGem) gem;
FunctionalAgentMetadata gemMetadata = faGem.getGemEntity().getMetadata(GemCutter.getLocaleFromPreferences());
ArgumentMetadata[] gemArguments = gemMetadata.getArguments();
int argNum = inputPart.getInputNum();
argDesc = argNum < gemArguments.length ? gemArguments[argNum].getShortDescription() : null;
// If there is no description of the gem argument, display the CALDoc instead.
if (argDesc == null) {
CALDocComment caldoc = faGem.getGemEntity().getFunctionalAgent().getCALDocComment();
if (caldoc != null) {
if (argNum < caldoc.getNArgBlocks()) {
argCALDocDesc = NavHtmlFactory.getHtmlForCALDocTextBlockWithNoHyperlinks(caldoc.getNthArgBlock(argNum).getTextBlock(), true);
}
}
}
}
CollectorGem argTargetGem = GemGraph.getInputArgumentTarget(inputPart);
if (argTargetGem != null) {
argTarget = argTargetGem.getUnqualifiedName();
}
}
} else if (part instanceof Gem.PartOutput) {
Gem gem = part.getGem();
Gem.PartOutput outputPart = (Gem.PartOutput)part;
if (!outputPart.isConnected() && gem instanceof FunctionalAgentGem) {
FunctionalAgentGem faGem = (FunctionalAgentGem) gem;
FunctionalAgentMetadata gemMetadata = faGem.getGemEntity().getMetadata(GemCutter.getLocaleFromPreferences());
if (gemMetadata instanceof FunctionMetadata) {
argDesc = ((FunctionMetadata)gemMetadata).getReturnValueDescription();
} else if (gemMetadata instanceof ClassMethodMetadata) {
argDesc = ((ClassMethodMetadata)gemMetadata).getReturnValueDescription();