package com.ifpdos.udi.sdk.service.doc.base.democode;

import com.ifpdos.udi.sdk.service.doc.base.ApiInfo;
import com.ifpdos.udi.sdk.service.doc.base.ClassParser;
import com.ifpdos.udi.sdk.service.doc.base.Notify;
import com.ifpdos.udi.sdk.service.doc.base.Request;
import com.ifpdos.udi.sdk.service.doc.base.Uri;
import com.ifpdos.udi.sdk.service.doc.base.Utils;
import d.e.a.f;
import g.h0.c.g;
import g.h0.c.l;
import g.i;
import g.k;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.util.LinkedHashMap;
import java.util.Map;

/* JADX INFO: compiled from: JavaCodeGenerator.kt */
/* JADX INFO: loaded from: classes.dex */
@i
public final class JavaCodeGenerator extends DemoCodeGenerator {
    public static final Companion Companion = new Companion(null);
    private static final String GET_DEMO_CODE_TEMPLATE = "\n``` java\n// 目前该调用方式只在安卓上支持\n\nUdiSdk.init(context, token); // token需要向平台组申请\n\nOkHttpClient client = UdiSdk.newOkHttpClientBuilder().build();\nRequest request = new Request.Builder()\n               .url(UdiSdk.getFullUrl(\"{{&url}}\"))\n               .build();\nResponse response = client.newCall(request).execute();\n\n{{^responseJson}}\nval success = response.code() == 200;\n{{/responseJson}}\n{{#responseJson}}\n/* 返回的例子:\n{{&responseJson}}\n*/\nif(response.code() == 200) {\n        String body = response.body().string();\n}\n{{/responseJson}}\n```\n";
    private static final String NOTIFY_DEMO_CODE_TEMPLATE = "\n``` java\n// 目前该调用方式只在安卓上支持\n\nUdiSdk.init(context, token); // token需要向平台组申请\n\nUdiSdk.registerEvents(Arrays.asList(\"{{&url}}\"), new IEventHandler() {\n    @Override\n    public void onEvent(String event, String data) {\n{{^notifyJson}}\n        /* event 是 {{&url}}, 没有 data 数据 */\n{{/notifyJson}}\n{{#notifyJson}}\n        /*\n        event 是 {{&url}},\n        data 是数据的 json:\n{{&notifyJson}}\n        */\n{{/notifyJson}}\n    }\n});\n```\n";
    private static final String POST_DEMO_CODE_TEMPLATE = "\n``` java\n// 目前该调用方式只在安卓上支持\nUdiSdk.init(context, token); // token需要向平台组申请\n\nMediaType jsonType = MediaType.parse(\"application/json;charset=utf-8\");\n{{#requestJson}}\nString json = \"{{&requestJson}}\";\n{{/requestJson}}\n{{^requestJson}}\nString json = \"{}\";\n{{/requestJson}}\n\nOkHttpClient client = UdiSdk.newOkHttpClientBuilder().build();\nRequest request = new Request.Builder()\n               .url(UdiSdk.getFullUrl(\"{{&url}}\"))\n               .post(RequestBody.create(json, jsonType))\n               .build();\nResponse response = client.newCall(request).execute();\n\n{{^responseJson}}\nboolean success = response.code() == 200;\n{{/responseJson}}\n{{#responseJson}}\n/* 返回的例子:\n{{&responseJson}}\n*/\nif(response.code == 200) {\n        String body = response.body().string();\n}\n{{/responseJson}}\n```\n";

    /* JADX INFO: compiled from: JavaCodeGenerator.kt */
    @i
    public static final class Companion {
        private Companion() {
        }

        public /* synthetic */ Companion(g gVar) {
            this();
        }
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.democode.DemoCodeGenerator
    public String genGetRequestDemo(ApiInfo apiInfo, ClassParser classParser) throws IOException {
        l.f(apiInfo, "info");
        l.f(classParser, "classParser");
        Request getterRequest = apiInfo.getGetterRequest();
        if (getterRequest == null) {
            throw new RuntimeException(apiInfo.getUri() + " has not getter");
        }
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        Map mapV = g.c0.g.v(new k("url", genDemoUrl(apiInfo.getUri(), linkedHashMap, getterRequest.getRequestClass(), classParser)), new k("requestJson", genDemoJson(apiInfo.getUri(), getterRequest.getRequestClass(), linkedHashMap, classParser, false)), new k("responseJson", genDemoJson(apiInfo.getUri(), getterRequest.getResponseClass(), linkedHashMap, classParser, true)));
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream);
        new f().a(new StringReader(GET_DEMO_CODE_TEMPLATE), "code").g(outputStreamWriter, mapV);
        outputStreamWriter.flush();
        String string = byteArrayOutputStream.toString();
        l.e(string, "out.toString()");
        return string;
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.democode.DemoCodeGenerator
    public String genNotifyRegisterDemo(ApiInfo apiInfo, ClassParser classParser) throws IOException {
        l.f(apiInfo, "info");
        l.f(classParser, "classParser");
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        Request getterRequest = apiInfo.getGetterRequest();
        if (getterRequest != null) {
            genDemoJson(apiInfo.getUri(), getterRequest.getRequestClass(), linkedHashMap, classParser, false);
        }
        Request setterRequest = apiInfo.getSetterRequest();
        if (setterRequest != null) {
            genDemoJson(apiInfo.getUri(), setterRequest.getRequestClass(), linkedHashMap, classParser, false);
        }
        Uri uri = apiInfo.getUri();
        Notify notify = apiInfo.getNotify();
        l.c(notify);
        String strGenDemoJson = genDemoJson(uri, notify.getNotifyClass(), new LinkedHashMap(), classParser, false);
        k[] kVarArr = new k[2];
        kVarArr[0] = new k("url", genDemoUrl(new Uri(apiInfo.getUri().getPath()), linkedHashMap, apiInfo.getNotify().getNotifyClass(), classParser));
        kVarArr[1] = new k("notifyJson", strGenDemoJson != null ? Utils.INSTANCE.addTab(strGenDemoJson, 2) : null);
        Map mapV = g.c0.g.v(kVarArr);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream);
        new f().a(new StringReader(NOTIFY_DEMO_CODE_TEMPLATE), "code").g(outputStreamWriter, mapV);
        outputStreamWriter.flush();
        String string = byteArrayOutputStream.toString();
        l.e(string, "out.toString()");
        return string;
    }

    @Override // com.ifpdos.udi.sdk.service.doc.base.democode.DemoCodeGenerator
    public String genPostRequestDemo(ApiInfo apiInfo, ClassParser classParser) throws IOException {
        l.f(apiInfo, "info");
        l.f(classParser, "classParser");
        Request setterRequest = apiInfo.getSetterRequest();
        if (setterRequest == null) {
            throw new RuntimeException(apiInfo.getUri() + " has not setter");
        }
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        String strGenDemoJson = genDemoJson(apiInfo.getUri(), setterRequest.getRequestClass(), linkedHashMap, classParser, false);
        Map mapV = g.c0.g.v(new k("url", genDemoUrl(apiInfo.getUri(), linkedHashMap, setterRequest.getRequestClass(), classParser)), new k("requestJson", strGenDemoJson != null ? Utils.INSTANCE.removeJsonFormat(strGenDemoJson) : null), new k("responseJson", genDemoJson(apiInfo.getUri(), setterRequest.getResponseClass(), linkedHashMap, classParser, true)));
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(1024);
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(byteArrayOutputStream);
        new f().a(new StringReader(POST_DEMO_CODE_TEMPLATE), "code").g(outputStreamWriter, mapV);
        outputStreamWriter.flush();
        String string = byteArrayOutputStream.toString();
        l.e(string, "out.toString()");
        return string;
    }
}
