private static String titleOrDesc(JsonObject o, String defaults) { String s = Strings.firstNotEmpty(o.getString(TITLE), o.getString("x-" + TITLE)); if(Strings.isEmpty(s)) { s = Strings.firstNotEmpty(o.getString(SUMMARY), o.getString("x-" + SUMMARY)); } if(Strings.isEmpty(s)) { s = o.getString(DESCRIPTION); } if(Strings.isEmpty(s)) { s = defaults; } return s; }
public void readTags(List<Map<String,Object>> tags, ApiMetadataBuilder m) { if(null == tags) { return; } for(Map<String,Object> map : tags) { JsonObject tag = JsonObject.of(map); String name = tag.getString(NAME); String desc = tag.getString(DESCRIPTION); m.addTag(new MApiTag(name, name, null ,desc, null)); } }
protected void readFormat(JsonObject json, MApiParameterBaseBuilder p) { String format = json.getString(FORMAT); if(!Strings.isEmpty(format)) { p.setFormat(format); if("password".equals(format)) { p.setPassword(true); } } String type = json.getString(TYPE); if("file".equals(type)) { p.setFile(true); } }
protected UserPrincipal newUserInfo(JsonObject json) { SimpleUserPrincipal userInfo = new SimpleUserPrincipal(); userInfo.setId(json.getString("sub")); userInfo.setName(json.getString("name")); userInfo.setLoginName(json.getString("login_name")); userInfo.setProperties(json.asMap()); return userInfo; }
@Override public void parseJson(JsonValue value) { JsonObject o = value.asJsonObject(); this.name = o.getString("name"); this.typeCode = o.getInteger("typeCode"); this.typeName = o.getString("typeName"); this.length = o.getInteger("length"); this.precision = o.getInteger("precision"); this.scale = o.getInteger("scale"); this.nullable = o.getBoolean("nullable"); this.primaryKey = o.getBoolean("primaryKey"); this.unique = o.getBoolean("unique"); this.autoIncrement = o.getBoolean("autoIncrement"); this.comment = o.getString("comment"); this.defaultValue = o.getString("defaultValue"); } }
@Override public void parseJson(JsonValue value) { JsonObject o = value.asJsonObject(); this.catalog = o.getString("catalog"); this.schema = o.getString("schema"); this.name = o.getString("name"); this.quoted = o.getBoolean("quoted", false); this.minValue = o.getLong("minValue"); this.maxValue = o.getLong("maxValue"); this.increment = o.getInteger("increment"); this.start = o.getLong("start"); this.cache = o.getInteger("cache"); this.cycle = o.getBoolean("cycle"); } }
public MApiModelBuilder readModel(String name, Map<String,Object> map, SwaggerExtension ex) { MApiModelBuilder mm = new MApiModelBuilder(); JsonObject model = JsonObject.of(map); List<String> requiredProperties = model.getList(REQUIRED); mm.setName(name); mm.setTitle(model.getString(TITLE)); mm.setSummary(model.getString(SUMMARY)); mm.setDescription(model.getString(DESCRIPTION)); mm.setEntity(model.getBoolean(X_ENTITY, false)); Map<String,Object> properties = model.getMap(PROPERTIES); if(null != properties) { List<MApiPropertyBuilder> list = readProperties(properties, requiredProperties, ex); list.forEach(mm::addProperty); } return mm; }
JsonObject o = value.asJsonObject(); this.name = o.getString("name"); for(JsonValue v : columns){ JsonObject column = v.asJsonObject(); addColumn(new DbForeignKeyColumn(column.getString("localColumnName"), column.getString("foreignColumnName"))); String onUpdate = o.getString("onUpdate"); if(!Strings.isEmpty(onUpdate)){ this.onUpdate = DbCascadeAction.valueOf(onUpdate); String onDelete = o.getString("onDelete"); if(!Strings.isEmpty(onDelete)){ this.onDelete = DbCascadeAction.valueOf(onDelete);
JsonObject o = value.asJsonObject(); this.catalog = o.getString("catalog"); this.schema = o.getString("schema"); this.name = o.getString("name"); this.type = o.getString("type",DbTableTypes.TABLE); this.quoted = o.getBoolean("quoted", false); this.comment = o.getString("comment"); this.primaryKeyName = o.getString("primaryKeyName");
protected MType readType(String name, JsonObject property, SwaggerExtension ex) { String ref = property.getString(REF); if(!Strings.isEmpty(ref)) { return readRefType(ref); } String type = property.getString(TYPE); if(Strings.isEmpty(type)) { if(!validate) { return null; } throw new InvalidSpecException("Invalid type in property : " + JSON.stringify(property.raw())); } MType mtype = null != ex ? ex.readType(type) : null; if(null != mtype) { return mtype; } if(type.equals(OBJECT)) { return readObjectType(name, property); } if(type.equals(ARRAY)) { return readCollectionType(property.getObject(ITEMS), ex); } String format = property.getString(FORMAT); return readSimpleType(type, format); }
public MApiResponseBuilder readResponse(String name, Map<String,Object> map) { MApiResponseBuilder mr = new MApiResponseBuilder(); JsonObject resp = JsonObject.of(map); mr.setName(name); mr.setSummary(resp.getString(SUMMARY)); mr.setDescription(resp.getString(DESCRIPTION)); try{ mr.setStatus(Integer.parseInt(name)); }catch(NumberFormatException e) { //not a http status. } JsonObject schema = resp.getObject(SCHEMA); if(null != schema) { mr.setType(readType(schema)); } return mr; }
public MApiParameterBuilder readParameter(Map<String,Object> map) { MApiParameterBuilder mp = new MApiParameterBuilder(); JsonObject p = JsonObject.of(map); readParameterBase(null, p, mp); mp.setLocation(readParameterIn(mp.getName(), p.getString(IN))); return mp; }
@Override public void parseJson(JsonValue value) { JsonObject o = value.asJsonObject(); this.name = o.getString("name"); this.unique = o.getBoolean("unique",false); JsonArray columns = o.getArray("columnNames"); if(null != columns){ for(int i=0;i<columns.length();i++){ addColumnName(columns.getString(i)); } } } }
@Override public void parseJson(JsonValue json) { JsonObject o = json.asJsonObject(); this.catalog = o.getString("catalog"); this.name = o.getString("name"); JsonArray tables = o.getArray("tables"); if(null != tables){ for(JsonValue v : tables){ DbTableBuilder tb = new DbTableBuilder(); tb.parseJson(v); addTable(tb.build()); } } JsonArray sequences = o.getArray("sequences"); if(null != sequences){ for(JsonValue v : sequences){ DbSequenceBuilder sb = new DbSequenceBuilder(); sb.parseJson(v); addSequence(sb.build()); } } } }
protected void readParameterBase(String name, JsonObject p, MApiParameterBaseBuilder mp, SwaggerExtension ex) { mp.setName(p.getString(NAME)); mp.setTitle(p.getString(TITLE)); mp.setSummary(p.getString(SUMMARY)); mp.setDescription(p.getString(DESCRIPTION)); mp.setRequired(p.get(REQUIRED, Boolean.class)); mp.setType(readParameterType(name, p, ex)); mp.setDefaultValue(p.get(DEFAULT)); MApiValidationBuilder v = new MApiValidationBuilder(); v.setPattern(p.getString(PATTERN)); v.setMaxLength(p.getInteger(MAX_LENGTH)); v.setMinLength(p.getInteger(MIN_LENGTH)); v.setMaximum(p.get(MAXIMUM)); v.setExclusiveMaximum(p.getBoolean(EXCLUSIVE_MAXIMUM, v.isExclusiveMaximum())); v.setMinimum(p.get(MINIMUM)); v.setExclusiveMinimum(p.getBoolean(EXCLUSIVE_MINIMUM, v.isExclusiveMinimum())); List<String> enumValues = p.getList(ENUM); if(null != enumValues) { mp.setEnumValues(enumValues.toArray(Arrays2.EMPTY_STRING_ARRAY)); } mp.setValidation(v); readFormat(p, mp); }
JsonObject definition = definitions.getObject(key); if(Strings.isEmpty(definition.getString(TITLE))) { definition.asMap().put(TITLE, title(definition, key));
public void readSwagger(Map<String,Object> map, ApiMetadataBuilder m) { JsonObject swagger = JsonObject.of(map); String swaggerVersion = swagger.getString(SWAGGER); if(!"2.0".equals(swaggerVersion)) { throw new UnsupportedSpecException("Unsupported swagger version : " + swaggerVersion); } readBase(map, m); readPaths(swagger.getMap(PATHS), m); readSecurityDefinitions(swagger.getMap(SECURITY_DEFINITIONS), m); readDefinitions(swagger.getMap(DEFINITIONS), m); readResponses(swagger.getMap(RESPONSES), m); readTags(swagger.getList(TAGS), m); //todo : security & securityDefinitions. }