private String getURICreateParamsIfNeeded(HttpRequest request) { String uri = request.getUri(); final MultiMap<String, String> params = request.params(); if (params != null && params.size() > 0) { CharBuf charBuf = CharBuf.create(request.getUri().length() + params.size() * 10); charBuf.add(request.getUri()).add("?"); for (Map.Entry<String, Collection<String>> entry : params) { try { String key = URLEncoder.encode(entry.getKey(), "UTF-8"); final Collection<String> values = entry.getValue(); for (String val : values) { val = URLEncoder.encode(val, "UTF-8"); charBuf.addString(key).add('=').addString(val).add('&'); } } catch (UnsupportedEncodingException e) { errorHandler.accept(e); throw new IllegalStateException(e); } } charBuf.removeLastChar(); uri = charBuf.toString(); } return uri; }
public static void stackTraceToJson(CharBuf buffer, StackTraceElement[] stackTrace) { if (stackTrace.length == 0) { buffer.addLine("[]"); return; } buffer.multiply(' ', 16).addLine('['); for (int index = 0; index < stackTrace.length; index++) { StackTraceElement element = stackTrace[index]; if (element.getClassName().contains("Exceptions")) { continue; } buffer.indent(17).add("[ ").asJsonString(element.getMethodName()) .add(','); buffer.indent(3).asJsonString(element.getClassName()); if (element.getLineNumber() > 0) { buffer.add(","); buffer.indent(3).asJsonString("" + element.getLineNumber()) .addLine(" ],"); } else { buffer.addLine(" ],"); } } buffer.removeLastChar(); //trailing \n buffer.removeLastChar(); //trailing , buffer.addLine().multiply(' ', 15).add(']'); }
public CharBuf prettyPrintCollection(Collection values, boolean type, int indent) { add('['); for (Object value : values) { prettyPrintObject(value, type, indent); add(','); } if (values.size()>0) { removeLastChar(); } add(']'); return this; }
public CharBuf prettyPrintCollection(Collection values, boolean type, int indent) { add('['); for (Object value : values) { prettyPrintObject(value, type, indent); add(','); } if (values.size()>0) { removeLastChar(); } add(']'); return this; }
@Override public final void serializeInstance ( JsonSerializerInternal serializer, Object instance, CharBuf builder ) { final Map<String, FieldAccess> fieldAccessors = serializer.getFields(instance.getClass ()); final Collection<FieldAccess> values = fieldAccessors.values (); builder.addChar( '{' ); int index = 0; for ( FieldAccess fieldAccess : values ) { if (serializer.serializeField ( instance, fieldAccess, builder ) ) { builder.addChar ( ',' ); index++; } } if ( index > 0 ) { builder.removeLastChar(); } builder.addChar( '}' ); }
@Override public void serializeSubtypeInstance( JsonSerializerInternal serializer, Object instance, CharBuf builder ) { builder.addString( "{\"class\":" ); builder.addQuoted ( instance.getClass ().getName () ); final Map<String, FieldAccess> fieldAccessors = serializer.getFields ( instance.getClass () ); int index = 0; Collection<FieldAccess> values = fieldAccessors.values(); int length = values.size(); if ( length > 0 ) { builder.addChar( ',' ); for ( FieldAccess fieldAccess : values ) { boolean sent = serializer.serializeField ( instance, fieldAccess, builder ); if (sent) { index++; builder.addChar( ',' ); } } if ( index > 0 ) { builder.removeLastChar(); } builder.addChar( '}' ); } }
@Override public final void serializeInstance ( JsonSerializerInternal serializer, Object instance, CharBuf builder ) { final Map<String, FieldAccess> fieldAccessors = serializer.getFields(instance.getClass ()); final Collection<FieldAccess> values = fieldAccessors.values (); builder.addChar( '{' ); int index = 0; for ( FieldAccess fieldAccess : values ) { if (serializer.serializeField ( instance, fieldAccess, builder ) ) { builder.addChar ( ',' ); index++; } } if ( index > 0 ) { builder.removeLastChar(); } builder.addChar( '}' ); }
@Override public final void serializeInstance ( JsonSerializerInternal serializer, Object instance, CharBuf builder ) { final Map<String, FieldAccess> fieldAccessors = serializer.getFields(instance.getClass ()); final Collection<FieldAccess> values = fieldAccessors.values (); builder.addChar( '{' ); int index = 0; for ( FieldAccess fieldAccess : values ) { if (serializer.serializeField ( instance, fieldAccess, builder ) ) { builder.addChar ( ',' ); index++; } } if ( index > 0 ) { builder.removeLastChar(); } builder.addChar( '}' ); }
public final void serializeMap( Map<Object, Object> smap, CharBuf builder ) { Map map = smap; if ( map.size () == 0 ) { builder.addChars ( EMPTY_MAP_CHARS ); return; } builder.addChar( '{' ); int index=0; final Set<Map.Entry> entrySet = map.entrySet(); for ( Map.Entry entry : entrySet ) { if (entry.getValue ()!=null ) { serializeFieldName ( Str.toString(entry.getKey()), builder ); serializeObject( entry.getValue(), builder ); builder.addChar ( ',' ); index++; } } if (index>0) builder.removeLastChar (); builder.addChar( '}' ); }
@Override public final void serializeArray ( Object array, CharBuf builder ) { if ( Array.getLength (array) == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); final int length = Array.getLength( array ); for ( int index = 0; index < length; index++ ) { final Object o = Array.get(array, index); if (o == null) { builder.addNull(); builder.addChar ( ',' ); continue; } serializeObject( Array.get( array, index ), builder ); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }
@Override public void serializeArray ( JsonSerializerInternal serializer, Object array, CharBuf builder ) { if ( Array.getLength ( array ) == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); final int length = Array.getLength ( array ); for ( int index = 0; index < length; index++ ) { final Object o = Array.get(array, index); if (o == null) { builder.addNull(); builder.addChar ( ',' ); continue; } serializer.serializeObject ( o, builder ); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); } }
public final void serializeCollection( Collection<?> collection, CharBuf builder ) { if ( collection.size () == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); for ( Object o : collection ) { if (o == null) { builder.addNull(); } else { serializeObject(o, builder); } builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }
public final void serializeCollection( Collection<?> collection, CharBuf builder ) { if ( collection.size () == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); for ( Object o : collection ) { if (o == null) { builder.addNull(); } else { serializeObject(o, builder); } builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }
public final void serializeCollection( Collection<?> collection, CharBuf builder ) { if ( collection.size () == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); for ( Object o : collection ) { if (o == null) { builder.addNull(); } else { serializeObject(o, builder); } builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }
public final void serializeArray ( TypeType componentType, Object objectArray, CharBuf builder ) { switch (componentType) { case STRING: //optimization String[] array = (String[]) objectArray; final int length = array.length; builder.addChar( '[' ); for ( int index = 0; index < length; index++ ) { serializeString( array[index], builder ); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); break; default: serializeArray(objectArray, builder); } } @Override
public final void serializeArray ( TypeType componentType, Object objectArray, CharBuf builder ) { switch (componentType) { case STRING: //optimization String[] array = (String[]) objectArray; final int length = array.length; builder.addChar( '[' ); for ( int index = 0; index < length; index++ ) { serializeString( array[index], builder ); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); break; default: serializeArray(objectArray, builder); } } @Override
@Override public final void serializeCollection ( JsonSerializerInternal serializer, Collection<?> collection, CharBuf builder ) { if ( collection.size () == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); for ( Object o : collection ) { if (o == null) { builder.addNull(); builder.addChar ( ',' ); continue; } serializer.serializeObject(o, builder); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }
@Override public final void serializeCollection ( JsonSerializerInternal serializer, Collection<?> collection, CharBuf builder ) { if ( collection.size () == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); for ( Object o : collection ) { if (o == null) { builder.addNull(); builder.addChar ( ',' ); continue; } serializer.serializeObject(o, builder); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }
public final void serializeArray ( TypeType componentType, Object objectArray, CharBuf builder ) { switch (componentType) { case STRING: //optimization String[] array = (String[]) objectArray; final int length = array.length; builder.addChar( '[' ); for ( int index = 0; index < length; index++ ) { serializeString( array[index], builder ); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); break; default: serializeArray(objectArray, builder); } } @Override
@Override public final void serializeCollection ( JsonSerializerInternal serializer, Collection<?> collection, CharBuf builder ) { if ( collection.size () == 0 ) { builder.addChars ( EMPTY_LIST_CHARS ); return; } builder.addChar( '[' ); for ( Object o : collection ) { if (o == null) { builder.addNull(); builder.addChar ( ',' ); continue; } serializer.serializeObject(o, builder); builder.addChar ( ',' ); } builder.removeLastChar (); builder.addChar( ']' ); }