use of io.swagger.models.parameters.BodyParameter in project incubator-servicecomb-java-chassis by apache.
the class JaxrsDefaultParameterProcessor method process.
@Override
public void process(OperationGenerator operationGenerator, int paramIndex) {
BodyParameter bodyParameter = ParamUtils.createBodyParameter(operationGenerator, paramIndex);
operationGenerator.addProviderParameter(bodyParameter);
}
use of io.swagger.models.parameters.BodyParameter in project incubator-servicecomb-java-chassis by apache.
the class TestBodyProcessorCreator method testCreateRawJson.
@Test
public void testCreateRawJson() {
ParamValueProcessorCreator creator = ParamValueProcessorCreatorManager.INSTANCE.findValue(BodyProcessorCreator.PARAMTYPE);
BodyParameter param = new BodyParameter();
param.setVendorExtension(SwaggerConst.EXT_RAW_JSON_TYPE, true);
ParamValueProcessor processor = creator.create(param, String.class);
Assert.assertEquals(RawJsonBodyProcessor.class, processor.getClass());
}
use of io.swagger.models.parameters.BodyParameter in project incubator-servicecomb-java-chassis by apache.
the class ParamUtils method createBodyParameter.
public static BodyParameter createBodyParameter(Swagger swagger, String paramName, Type paramType) {
addDefinitions(swagger, paramType);
Property property = ModelConverters.getInstance().readAsProperty(paramType);
Model model = PropertyBuilder.toModel(property);
BodyParameter bodyParameter = new BodyParameter();
bodyParameter.setName(paramName);
bodyParameter.setSchema(model);
return bodyParameter;
}
use of io.swagger.models.parameters.BodyParameter in project incubator-servicecomb-java-chassis by apache.
the class PojoSwaggerGeneratorContext method replaceBodyBasedParameter.
protected void replaceBodyBasedParameter(OperationGenerator operationGenerator, Parameter bodyBasedParameter) {
if (ParamUtils.isRealBodyParameter(bodyBasedParameter)) {
return;
}
List<Parameter> swaggerParameters = operationGenerator.getSwaggerParameters();
int idx = swaggerParameters.indexOf(bodyBasedParameter);
String bodyParamName = bodyBasedParameter.getName();
BodyParameter bodyParameter = ((PendingBodyParameter) bodyBasedParameter).createBodyParameter(bodyParamName);
swaggerParameters.set(idx, bodyParameter);
}
use of io.swagger.models.parameters.BodyParameter in project teiid by teiid.
the class SwaggerMetadataProcessor method addProcedureParameters.
private void addProcedureParameters(final MetadataFactory mf, final Swagger swagger, final Procedure procedure, final Operation operation) throws TranslatorException {
for (final Parameter parameter : operation.getParameters()) {
if (parameter instanceof BodyParameter) {
PropertyAction pa = new PropertyAction() {
@Override
public void execute(String name, String nameInSource, Property property, boolean array) {
String type = getPropertyType(property, array);
if (procedure.getParameterByName(nameInSource) == null) {
ProcedureParameter param = mf.addProcedureParameter(name, type, Type.In, procedure);
param.setProperty(PARAMETER_TYPE, parameter.getIn());
if (property != null && !property.getRequired()) {
param.setProperty(BaseColumn.DEFAULT_HANDLING, BaseColumn.OMIT_DEFAULT);
}
param.setNullType(NullType.No_Nulls);
param.setAnnotation(property != null ? property.getDescription() : null);
if (!name.equalsIgnoreCase(nameInSource)) {
param.setNameInSource(nameInSource);
}
}
}
};
Model model = ((BodyParameter) parameter).getSchema();
if (model instanceof RefModel) {
RefModel refModel = (RefModel) model;
if (refModel.getProperties() != null) {
walkProperties(swagger, refModel.getProperties(), null, null, pa);
} else if (refModel.getReference() != null) {
Model m = swagger.getDefinitions().get(refModel.getSimpleRef());
walkProperties(swagger, m.getProperties(), null, null, pa);
}
} else {
if ((model instanceof ModelImpl) && model.getProperties() != null) {
walkProperties(swagger, model.getProperties(), null, null, pa);
} else {
ProcedureParameter p = mf.addProcedureParameter(parameter.getName(), DataTypeManager.DefaultDataTypes.CLOB, Type.In, procedure);
p.setProperty(PARAMETER_TYPE, parameter.getIn());
p.setNullType(NullType.No_Nulls);
p.setAnnotation(parameter.getDescription());
}
}
} else {
String name = parameter.getName();
ProcedureParameter pp = null;
String type = null;
Object defaultValue = null;
String collectionFormat = null;
if (parameter instanceof AbstractSerializableParameter) {
AbstractSerializableParameter p = (AbstractSerializableParameter) parameter;
type = p.getType();
if (p.getType().equalsIgnoreCase("array")) {
Property ap = p.getItems();
type = ap.getType();
}
type = SwaggerTypeManager.teiidType(type, p.getFormat(), p.getItems() != null);
defaultValue = p.getDefaultValue();
collectionFormat = p.getCollectionFormat();
} else {
// $NON-NLS-1$
throw new MetadataException("Unknown property type" + parameter.getClass().getName());
}
pp = mf.addProcedureParameter(name, type, Type.In, procedure);
pp.setProperty(PARAMETER_TYPE, parameter.getIn());
boolean required = parameter.getRequired();
if (!required) {
pp.setProperty(BaseColumn.DEFAULT_HANDLING, BaseColumn.OMIT_DEFAULT);
}
pp.setNullType(NullType.No_Nulls);
pp.setAnnotation(parameter.getDescription());
if (defaultValue != null) {
pp.setDefaultValue(defaultValue.toString());
}
if (collectionFormat != null) {
pp.setProperty(COLLECION_FORMAT, collectionFormat);
}
// extended properties
for (Entry<String, Object> extension : parameter.getVendorExtensions().entrySet()) {
pp.setProperty(extension.getKey(), extension.getValue().toString());
}
}
}
}
Aggregations