// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/utils/JsonUtils.java
// public class JsonUtils {
// 
//     private static ObjectMapper objectMapper = new ObjectMapper();
// 
//     static {
//         objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
//         objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
//     }
// 
//     /**
//      * 将一个对象转为json字符窜
//      */
//     public static String toJson(Object obj) {
//         try {
//             return objectMapper.writeValueAsString(obj);
//         } catch (JsonProcessingException e) {
//             throw new RuntimeException(e);
//         }
//     }
// 
// 
//     /**
//      * 格式化json字符串
//      *
//      * @param jsonStr 未格式化前的JSON窜
//      * @return 格式化好的JSON窜
//      */
//     public static String formatJson(String jsonStr) {
//         if (StringUtils.isBlank(jsonStr)) {
//             return StringUtils.EMPTY;
//         }
//         StringBuilder sb = new StringBuilder();
//         char last;
//         char current = '\0';
//         int indent = 0;
//         for (int i = 0; i < jsonStr.length(); i++) {
//             last = current;
//             current = jsonStr.charAt(i);
//             switch (current) {
//                 case '{':
//                 case '[':
//                     sb.append(current);
//                     sb.append('\n');
//                     indent++;
//                     addIndentBlank(sb, indent);
//                     break;
//                 case '}':
//                 case ']':
//                     sb.append('\n');
//                     indent--;
//                     addIndentBlank(sb, indent);
//                     sb.append(current);
//                     break;
//                 case ',':
//                     sb.append(current);
//                     if (last != '\\') {
//                         sb.append('\n');
//                         addIndentBlank(sb, indent);
//                     }
//                     break;
//                 default:
//                     sb.append(current);
//             }
//         }
// 
//         return sb.toString();
//     }
// 
//     /**
//      * 添加space
//      *
//      * @param sb     要追加空格的字符串
//      * @param indent 追加的空格数
//      */
//     private static void addIndentBlank(StringBuilder sb, int indent) {
//         for (int i = 0; i < indent; i++) {
//             sb.append('\t');
//         }
//     }
// }


import org.junit.Test;
import org.treeleafj.xdoc.utils.JsonUtils;
package org.treeleafj.xdoc.resolver.javaparser.converter;


/**
 * Created by leaf on 2018/3/8.
 */
public class ParamTagConverterTest {

    @Test
    public void converter() throws Exception {
        ParamTagConverter converter = new ParamTagConverter();
//        String o = "@param type 账户类型(1-普通账户)|必填";
        String o = "@param user :username 账户名称|必填";
        System.out.println(JsonUtils.toJson(converter.converter("@param username 账户名称")));
        System.out.println(JsonUtils.toJson(converter.converter("@param username 账户名称|必填")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|必填")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|Y")));
        System.out.println(JsonUtils.toJson(converter.converter("@param username 账户名称|Boolean|必填")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|N")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|Y")));
// Path: xDoc-core/src/main/java/org/treeleafj/xdoc/utils/JsonUtils.java
// public class JsonUtils {
// 
//     private static ObjectMapper objectMapper = new ObjectMapper();
// 
//     static {
//         objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
//         objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
//     }
// 
//     /**
//      * 将一个对象转为json字符窜
//      */
//     public static String toJson(Object obj) {
//         try {
//             return objectMapper.writeValueAsString(obj);
//         } catch (JsonProcessingException e) {
//             throw new RuntimeException(e);
//         }
//     }
// 
// 
//     /**
//      * 格式化json字符串
//      *
//      * @param jsonStr 未格式化前的JSON窜
//      * @return 格式化好的JSON窜
//      */
//     public static String formatJson(String jsonStr) {
//         if (StringUtils.isBlank(jsonStr)) {
//             return StringUtils.EMPTY;
//         }
//         StringBuilder sb = new StringBuilder();
//         char last;
//         char current = '\0';
//         int indent = 0;
//         for (int i = 0; i < jsonStr.length(); i++) {
//             last = current;
//             current = jsonStr.charAt(i);
//             switch (current) {
//                 case '{':
//                 case '[':
//                     sb.append(current);
//                     sb.append('\n');
//                     indent++;
//                     addIndentBlank(sb, indent);
//                     break;
//                 case '}':
//                 case ']':
//                     sb.append('\n');
//                     indent--;
//                     addIndentBlank(sb, indent);
//                     sb.append(current);
//                     break;
//                 case ',':
//                     sb.append(current);
//                     if (last != '\\') {
//                         sb.append('\n');
//                         addIndentBlank(sb, indent);
//                     }
//                     break;
//                 default:
//                     sb.append(current);
//             }
//         }
// 
//         return sb.toString();
//     }
// 
//     /**
//      * 添加space
//      *
//      * @param sb     要追加空格的字符串
//      * @param indent 追加的空格数
//      */
//     private static void addIndentBlank(StringBuilder sb, int indent) {
//         for (int i = 0; i < indent; i++) {
//             sb.append('\t');
//         }
//     }
// }


// Path: samples/sample-springboot/src/test/java/org/treeleafj/xdoc/resolver/javaparser/converter/ParamTagConverterTest.java
import org.junit.Test;
import org.treeleafj.xdoc.utils.JsonUtils;

package org.treeleafj.xdoc.resolver.javaparser.converter;


/**
 * Created by leaf on 2018/3/8.
 */
public class ParamTagConverterTest {

    @Test
    public void converter() throws Exception {
        ParamTagConverter converter = new ParamTagConverter();
//        String o = "@param type 账户类型(1-普通账户)|必填";
        String o = "@param user :username 账户名称|必填";
        System.out.println(JsonUtils.toJson(converter.converter("@param username 账户名称")));
        System.out.println(JsonUtils.toJson(converter.converter("@param username 账户名称|必填")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|必填")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|Y")));
        System.out.println(JsonUtils.toJson(converter.converter("@param username 账户名称|Boolean|必填")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|N")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|Y")));
        System.out.println(JsonUtils.toJson(converter.converter("@param user :username 账户名称|string")));