Refine search
private Predicate<PropertyInfo> filterProperties() { return p -> p.getSetterMethod() != null || p.getAdderMethod() != null; }
private static final String SOAP_ACTION = "http://tempuri.org/GetInteger2"; private static final String METHOD_NAME = "GetInteger2"; private static final String NAMESPACE = "http://tempuri.org/"; private static final String URL = "http://10.0.2.2:4711/Service1.asmx"; public int GetInteger2() throws IOException, XmlPullParserException { SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); PropertyInfo pi = new PropertyInfo(); pi.setName("i"); pi.setValue(123); request.addProperty(pi); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(request); AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL); androidHttpTransport.call(SOAP_ACTION, envelope); SoapPrimitive result = (SoapPrimitive)envelope.getResponse(); return Integer.parseInt(result.toString()); }
PropertyInfo req = new PropertyInfo(); req.name = "xmlstring"; req.namespace=NAMESPACE; req.type = String.class; req.setValue("<hello><username>test@test.com</username><password>test</password></hello>"); request.addProperty(req);
PropertyInfo property = new PropertyInfo(); { property.name = "data"; property.setNamespace(NAMESPACE); property.type = PropertyInfo.STRING_CLASS; property.setValue("value"); } request.addProperty(property);
private static void assertProperty( PropertyInfo property, String expectedName, String expectedSetter, String expectedAdder, String expectedGetter, TypeInfo expectedType, boolean expectedDeclared, PropertyKind expectedKind, boolean expectedJsonifiable) { assertNotNull(property); assertEquals("Was expecting property to have be declared=" + expectedDeclared, expectedDeclared, property.isDeclared()); assertEquals(expectedSetter, property.getSetterMethod()); assertEquals(expectedAdder, property.getAdderMethod()); assertEquals(expectedGetter, property.getGetterMethod()); assertEquals(expectedName, property.getName()); assertEquals(expectedType, property.getType()); assertEquals(expectedKind, property.getKind()); assertEquals(expectedJsonifiable, property.isJsonifiable()); }
private void genPropFromJson(String cast, String before, String after, PropertyInfo prop, PrintWriter writer) { String indent = " "; writer.print(indent + "case \"" + prop.getName() + "\":\n"); if (prop.isList() || prop.isSet()) { writer.print(indent + " if (member.getValue() instanceof JsonArray) {\n"); if (prop.isSetter()) { String coll = prop.isList() ? "java.util.ArrayList" : "java.util.LinkedHashSet"; writer.print(indent + " " + coll + "<" + prop.getType().getName() + "> list = new " + coll + "<>();\n"); writer.print(indent + " ((Iterable<Object>)member.getValue()).forEach( item -> {\n"); writer.print(indent + " if (item instanceof " + cast + ")\n"); writer.print(indent + " list.add(" + before + "item" + after + ");\n"); writer.print(indent + " });\n"); writer.print(indent + " obj." + prop.getSetterMethod() + "(list);\n"); } else if (prop.isAdder()) { writer.print(indent + " ((Iterable<Object>)member.getValue()).forEach( item -> {\n"); writer.print(indent + " if (item instanceof " + cast + ")\n"); writer.print(indent + " obj." + prop.getAdderMethod() + "(" + before + "item" + after + ");\n"); writer.print(indent + " });\n"); } else if (prop.isMap()) { writer.print(indent + " if (member.getValue() instanceof JsonObject) {\n"); if (prop.isAdder()) { writer.print(indent + " ((Iterable<java.util.Map.Entry<String, Object>>)member.getValue()).forEach(entry -> {\n"); writer.print(indent + " if (entry.getValue() instanceof " + cast + ")\n"); writer.print(indent + " obj." + prop.getAdderMethod() + "(entry.getKey(), " + before + "entry.getValue()" + after + ");\n"); writer.print(indent + " });\n"); } else if (prop.isSetter()) { writer.print(indent + " java.util.Map<String, " + prop.getType().getName() + "> map = new java.util.LinkedHashMap<>();\n"); writer.print(indent + " ((Iterable<java.util.Map.Entry<String, Object>>)member.getValue()).forEach(entry -> {\n"); writer.print(indent + " if (entry.getValue() instanceof " + cast + ")\n");
if (property.getDoc() != null) { writer.print(" /**\n"); writer.printf(" *%s\n", property.getDoc().toString().replace("\n", "\n * ")); writer.print(" */\n"); String getter = property.getGetterMethod(); writer.printf(" %s(): %s;\n", getter == null ? entry.getKey() : getter, genType(property.getType())); if (property.isSetter()) { if (property.getDoc() != null) { writer.print(" /**\n"); writer.printf(" *%s\n", property.getDoc().toString().replace("\n", "\n * ")); writer.print(" */\n"); writer.printf(" %s(%s: %s): %s;\n", property.getSetterMethod(), cleanReserved(entry.getKey()), genType(property.getType()), model.getType().getRaw().getSimpleName()); if (property.isAdder()) { if (property.getDoc() != null) { writer.print(" /**\n"); writer.printf(" *%s\n", property.getDoc().toString().replace("\n", "\n * ")); writer.print(" */\n"); writer.printf(" %s(%s: %s): %s;\n", property.getAdderMethod(), cleanReserved(entry.getKey()), genType(property.getType()), model.getType().getRaw().getSimpleName());
.stream() .filter(filterProperties()) .map(p -> " " + p.getName() + ": " + applyPropertyKind(mapKotlinType(p.getType()), p.getKind()) + "? = null") .collect(Collectors.joining(",\n")); writer.print(paramsInfo); .filter(filterProperties()) .forEach(p -> { String propertyName = p.getName(); PropertyKind propertyKind = p.getKind(); writer.println("if (" + propertyName + " != null) {"); writer.indent(); if (p.getSetterMethod() != null) { writer.print("this." + (isKotlin ? (p.getName() + " = ") : (p.getSetterMethod() + "("))); writer.print(propertyName); if (propertyKind.isList()) { writer.println(") {"); writer.indent(); writer.print("this." + p.getAdderMethod()); if (propertyKind.isMap()) { writer.println("(item.key, item.value)");
private void genPropToJson(String before, String after, PropertyInfo prop, PrintWriter writer) { String indent = " "; if (prop.isList() || prop.isSet()) { writer.print(indent + "if (obj." + prop.getGetterMethod() + "() != null) {\n"); writer.print(indent + " JsonArray array = new JsonArray();\n"); writer.print(indent + " obj." + prop.getGetterMethod() + "().forEach(item -> array.add(" + before + "item" + after + "));\n"); writer.print(indent + " json.put(\"" + prop.getName() + "\", array);\n"); writer.print(indent + "}\n"); } else if (prop.isMap()) { writer.print(indent + "if (obj." + prop.getGetterMethod() + "() != null) {\n"); writer.print(indent + " JsonObject map = new JsonObject();\n"); writer.print(indent + " obj." + prop.getGetterMethod() + "().forEach((key, value) -> map.put(key, " + before + "value" + after + "));\n"); writer.print(indent + " json.put(\"" + prop.getName() + "\", map);\n"); writer.print(indent + "}\n"); } else { String sp = ""; if (prop.getType().getKind() != ClassKind.PRIMITIVE) { sp = " "; writer.print(indent + "if (obj." + prop.getGetterMethod() + "() != null) {\n"); } writer.print(indent + sp + "json.put(\"" + prop.getName() + "\", " + before + "obj." + prop.getGetterMethod() + "()" + after + ");\n"); if (prop.getType().getKind() != ClassKind.PRIMITIVE) { writer.print(indent + "}\n"); } } }
html.append("^|Name | Type ^| Description\n"); model.getPropertyMap().values().forEach(property -> { String propertytype = getDataType(property.getType()); if (propertytype != null) { String arrayPrefix = (property.isList() || property.isSet()) ? "Array of " : ""; html.append("|[[").append(property.getName()).append("]]`@").append(property.getName()).append("`"); html.append("|`").append(arrayPrefix).append(propertytype).append("`"); html.append("|"); if (property.getDoc() != null) { html.append("+++\n"); html.append(Token.toHtml(property.getDoc().getTokens(), "", Tag::getName, "\n").trim()).append("\n"); html.append("+++\n"); } else {
writer.print(" " + visibility + " static void toJson(" + simpleName + " obj, java.util.Map<String, Object> json) {\n"); model.getPropertyMap().values().forEach(prop -> { if ((prop.isDeclared() || inheritConverter) && prop.getGetterMethod() != null && prop.isJsonifiable()) { ClassKind propKind = prop.getType().getKind(); if (propKind.basic) { if (propKind == ClassKind.STRING) { genPropToJson("", "", prop, writer); } else { switch (prop.getType().getSimpleName()) { case "char": case "Character": switch (propKind) { case API: if (prop.getType().getName().equals("io.vertx.core.buffer.Buffer")) { genPropToJson("java.util.Base64.getEncoder().encodeToString(", ".getBytes())", prop, writer); break; case OTHER: if (prop.getType().getName().equals(Instant.class.getName())) { genPropToJson("DateTimeFormatter.ISO_INSTANT.format(", ")", prop, writer);
public static String fromPropertyInfoToScala(PropertyInfo info) { if (info.getKind().isValue()){ return toScalaType(info.getType(), false); } else if (info.getKind().isList()){ String ret = "scala.collection.mutable.Buffer"; ret += "[" + toScalaType(info.getType(), false) + "]"; return ret; } else if (info.getKind().isSet()){ String ret = "scala.collection.mutable.Set"; ret += "[" + toScalaType(info.getType(), false) + "]"; return ret; } else if (info.getKind().isMap()){ String ret = "scala.collection.mutable.Map"; ret += "[String, " + toScalaType(info.getType(), false) + "]"; return ret; } return "ERROR fromPropertyInfoToScala got " + info; }
@Test public void testUncommentedProperty() throws Exception { DataObjectModel model = new GeneratorHelper().generateDataObject(UncommentedProperty.class); PropertyInfo propertyInfo = model.getPropertyMap().get("theProperty"); assertNull(propertyInfo.getDoc()); }
writer.print(" switch (member.getKey()) {\n"); model.getPropertyMap().values().forEach(prop -> { if (prop.isDeclared() || inheritConverter) { ClassKind propKind = prop.getType().getKind(); if (propKind.basic) { if (propKind == ClassKind.STRING) { genPropFromJson("String", "(String)", "", prop, writer); } else { switch (prop.getType().getSimpleName()) { case "boolean": case "Boolean": switch (propKind) { case API: if (prop.getType().getName().equals("io.vertx.core.buffer.Buffer")) { genPropFromJson("String", "io.vertx.core.buffer.Buffer.buffer(java.util.Base64.getDecoder().decode((String)", "))", prop, writer); break; case DATA_OBJECT: genPropFromJson("JsonObject", "new " + prop.getType().getName() + "((JsonObject)", ")", prop, writer); break; case ENUM: genPropFromJson("String", prop.getType().getName() + ".valueOf((String)", ")", prop, writer); break; case OBJECT: break; case OTHER: if (prop.getType().getName().equals(Instant.class.getName())) {
private void generateDoc(DataObjectModel model, CodeWriter writer) { Doc doc = model.getDoc(); if (doc != null) { writer.println("/**"); writer.println(" * A function providing a DSL for building [" + model.getType().getName() + "] objects."); writer.println(" *"); Token.toHtml(doc.getTokens(), " *", KotlinCodeGenHelper::renderLinkToHtml, "\n", writer); writer.println(" *"); model.getPropertyMap().values().stream().filter(filterProperties()).forEach(p -> { writer.print(" * @param " + p.getName() + " "); if (p.getDoc() != null) { String docInfo = Token.toHtml(p.getDoc().getTokens(), "", KotlinCodeGenHelper::renderLinkToHtml, "").replace("/*", "/<star>"); writer.print(docInfo); } writer.println(); }); writer.println(" *"); writer.println(" * <p/>"); writer.println(" * NOTE: This function has been automatically generated from the [" + model.getType().getName() + " original] using Vert.x codegen."); writer.println(" */"); } }
private Collection<ClassTypeInfo> filterImports(Map<String, PropertyInfo> properties) { Set<ClassTypeInfo> result = new HashSet<>(); for (PropertyInfo p : properties.values()) { p.getType().collectImports(result); } return result; } @Override
public class SoapRequest { private static final String SOAP_ACTION = "xxx"; private static final String METHOD_NAME = "xxx"; private static final String NAMESPACE = "xxx"; private static final String URL = "url of the webservice"; public static SoapObject soap() throws IOException, XmlPullParserException { SoapObject request = new SoapObject (NAMESPACE, METHOD_NAME); /* Here you can add properties to your requests */ PropertyInfo pi1 = new PropertyInfo(); pi1.name = "xxx"; pi1.type = String.class; request.addProperty(pi1, "xxx"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); androidHttpTransport.debug = true; androidHttpTransport.call(SOAP_ACTION, envelope); SoapObject soapResult = (SoapObject) envelope.bodyIn; return soapResult; }
//n0 stores array namespace: String n0 = "http://n0 ..."; stringArrayProperty = new PropertyInfo(); stringArrayProperty.setName("strarray"); stringArrayProperty.setValue(stringArray); stringArrayProperty.setType(stringArray.getClass()); stringArrayProperty.setNamespace(n0);
SoapObject soapResult = (SoapObject) result; PropertyInfo pi = new PropertyInfo(); soapResult.getPropertyInfo(0, pi); SoapObject soapResult2 = (SoapObject) pi.getValue(); PropertyInfo pi2 = new PropertyInfo(); soapResult2.getPropertyInfo(2, pi2); SoapObject soapResult3 = (SoapObject) pi2.getValue(); PropertyInfo pi3 = new PropertyInfo(); soapResult3.getPropertyInfo(0, pi3); Log.i(LOG, pi3.toString());
SoapObject request = new SoapObject("http://service.medal.org/", "GetPosts"); PropertyInfo getpostreq = new PropertyInfo(); getpostreq.name="GetPostsReq"; getpostreq.type=String.class; getpostreq.setValue("<GetPostsReq>" +"<sessionId>"+sessionid+"</sessionId>" +"<postedAfter>"+5+"</postedAfter>" +"<postedBefore>"+20+"</postedBefore>" +"<radius>10</radius>" +"<location>" +"<latitude>"+lati+"</latitude>" +"<longitude>"+longi+"</longitude>" +"</location>" +"<postedBy>all</postedBy>" +"</GetPostsReq>"); request.addProperty(getpostreq); SoapSerializationEnvelope envelop = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelop.setOutputSoapObject(reques