com.reprezen.genflow.swagger.doc.PathDoc Maven / Gradle / Ivy
/**
* Copyright © 2013, 2016 Modelsolv, Inc.
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains the property
* of ModelSolv, Inc. See the file license.html in the root directory of
* this project for further information.
*/
package com.reprezen.genflow.swagger.doc;
import com.reprezen.genflow.api.normal.openapi.RepreZenVendorExtension;
import com.reprezen.genflow.swagger.doc.AttributeHelper;
import com.reprezen.genflow.swagger.doc.DocHelper;
import com.reprezen.genflow.swagger.doc.HelperHelper;
import com.reprezen.genflow.swagger.doc.HtmlHelper;
import com.reprezen.genflow.swagger.doc.MiscHelper;
import com.reprezen.genflow.swagger.doc.OpDoc;
import com.reprezen.genflow.swagger.doc.OptionHelper;
import com.reprezen.genflow.swagger.doc.TagHelper;
import io.swagger.models.HttpMethod;
import io.swagger.models.Operation;
import io.swagger.models.Path;
import io.swagger.models.Swagger;
import io.swagger.models.Tag;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.xbase.lib.Extension;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@SuppressWarnings("all")
public class PathDoc {
private final Swagger swagger = HelperHelper.getSwagger();
private final String pathName;
private final Path path;
@Extension
private DocHelper _docHelper = HelperHelper.getDocHelper();
@Extension
private TagHelper _tagHelper = HelperHelper.getTagHelper();
@Extension
private HtmlHelper _htmlHelper = HelperHelper.getHtmlHelper();
@Extension
private MiscHelper _miscHelper = HelperHelper.getMiscHelper();
@Extension
private OptionHelper _optionHelper = HelperHelper.getOptionHelper();
@Extension
private AttributeHelper _attributeHelper = HelperHelper.getAttributeHelper();
public PathDoc(final String pathName) {
this.pathName = pathName;
Map _paths = this.swagger.getPaths();
Path _get = _paths.get(pathName);
this.path = _get;
}
public CharSequence getHtml() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("");
_builder.newLineIfNotEmpty();
_builder.append("");
_builder.newLine();
_builder.append(" ");
_builder.append("");
_builder.newLine();
_builder.append("\t\t");
_builder.append("");
_builder.newLine();
_builder.append("\t\t ");
_builder.append("Path: ");
_builder.append(this.pathName, "\t\t ");
_builder.newLineIfNotEmpty();
{
Boolean _isPreview = this._optionHelper.isPreview();
if ((_isPreview).booleanValue()) {
_builder.append("\t\t ");
_builder.append(" ");
_builder.newLine();
_builder.append("\t\t ");
_builder.append("");
_builder.newLine();
_builder.append("\t\t ");
_builder.append(" ");
_builder.append("");
_builder.newLineIfNotEmpty();
_builder.append("\t\t ");
_builder.append("");
_builder.newLine();
}
}
_builder.append("\t\t");
_builder.append("
");
_builder.newLine();
_builder.append("\t\t ");
_builder.append("");
_builder.newLine();
_builder.append("\t\t ");
_builder.append("");
_builder.newLine();
_builder.append("\t\t ");
LinkedHashSet _commonTags = this._tagHelper.getCommonTags(this.path);
final Function1 _function = (String it) -> {
Tag _modelTag = this._tagHelper.getModelTag(it);
String _description = null;
if (_modelTag!=null) {
_description=_modelTag.getDescription();
}
return _description;
};
Iterable _map = IterableExtensions.map(_commonTags, _function);
Iterable _filterNull = IterableExtensions.filterNull(_map);
String _join = IterableExtensions.join(_filterNull, "\n\n");
String _docHtml = this._docHelper.getDocHtml(_join);
_builder.append(_docHtml, "\t\t ");
_builder.newLineIfNotEmpty();
{
Map _operationMap = this.path.getOperationMap();
Set _keySet = _operationMap.keySet();
Map _operationMap_1 = this.path.getOperationMap();
List _sortByPosition = this._miscHelper.sortByPosition(_keySet, _operationMap_1);
for(final HttpMethod method : _sortByPosition) {
_builder.append("\t\t ");
Map _operationMap_2 = this.path.getOperationMap();
Operation _get = _operationMap_2.get(method);
OpDoc _opDoc = new OpDoc(_get);
CharSequence _html = _opDoc.getHtml(method);
_builder.append(_html, "\t\t ");
_builder.newLineIfNotEmpty();
}
}
_builder.append("\t\t ");
_builder.append(" ");
_builder.newLine();
_builder.append("");
_builder.newLine();
return _builder;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy