All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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