public void testDecodeFromString() throws Exception { for (String str : new String[] {"abcdefgh", "1", "12", "123", "1234", "12345"}) { byte[] b64Encoded = B64Code.encode(str.getBytes("UTF-8")); byte[] decoded = B64Code.decode(b64Encoded); byte[] decodedFromString = B64Code.decode(new String(b64Encoded, "UTF-8")); assertEquals(STRING.deser(decoded), STRING.deser(decodedFromString)); assertEquals(str, STRING.deser(decoded)); } }
public void testDecodeTo() throws Exception { for (String str : new String[] {"abcdefgh", "1", "12", "123", "1234", "12345"}) { byte[] b64Encoded = B64Code.encode(str.getBytes("UTF-8")); byte[] decoded = new byte[16]; int decodedLen = B64Code.decodeTo(decoded, 0, b64Encoded, 0, b64Encoded.length); byte[] decodedFromString = B64Code.decode(new String(b64Encoded, "UTF-8")); assertEquals(STRING.deser(decoded, 0, decodedLen), STRING.deser(decodedFromString)); assertEquals(str, STRING.deser(decoded, 0, decodedLen)); } }
@Override public int getSlotSize() { switch (type_) { case CHAR: if (len_ > CHAR_INLINE_LENGTH) return STRING.getSlotSize(); return len_; case DECIMAL: return TypesUtil.getDecimalSlotSize(this); default: return type_.getSlotSize(); } }
public static ParameterType getById(final Long id) { if (STRING.getId().equals(id)) { return STRING; } else if (LONG.getId().equals(id)) { return LONG; } else if (DATE.getId().equals(id)) { return DATE; } else if (DOUBLE.getId().equals(id)) { return DOUBLE; } else { throw new SpringBatchLightminApplicationException("Unknown ParameterType for id: " + id); } }
public static PropertyDataTypes getTypeByTypeNum(int typeNum) { if (STRING.getTypeNum() == typeNum) return STRING; else if (BINARY.getTypeNum() == typeNum) return BINARY; else if (LONG.getTypeNum() == typeNum) return LONG; else if (DOUBLE.getTypeNum() == typeNum) return DOUBLE; else if (DATE.getTypeNum() == typeNum) return DATE; else if (BOOLEAN.getTypeNum() == typeNum) return BOOLEAN; else if (NAME.getTypeNum() == typeNum) return NAME; else if (PATH.getTypeNum() == typeNum) return PATH; else if (REFERENCE.getTypeNum() == typeNum) return REFERENCE; else if (WEAKREFERENCE.getTypeNum() == typeNum) return WEAKREFERENCE; else if (URI.getTypeNum() == typeNum) return URI; else if (DECIMAL.getTypeNum() == typeNum) return DECIMAL; else return UNDEFINED; }
/** * Returns a Server variable type requested by name * * @param type of server variable * @return Server Variable type */ public static ServerVariableTypeEnum getEnum(String type) { if (type.equals(INT.name())) return INT; if (type.equals(STRING.name())) return STRING; if (type.equals(BOOLEAN.name())) return BOOLEAN; return null; }
/** * Parses an object from the lexer * * @param lexer the lexer * @return a Map representing a JSON object */ private Map parseObject(JsonLexer lexer) { Map content = new HashMap(); JsonToken previousToken = null; JsonToken currentToken = null; for (; ; ) { currentToken = lexer.nextToken(); if (currentToken == null) { throw new JsonException( "Expected a String key on line: " + lexer.getReader().getLine() + ", " + "column: " + lexer.getReader().getColumn() + ".\n" + "But got an unterminated object."); } // expect a string key, or already a closing curly brace if (currentToken.getType() == CLOSE_CURLY) { return content; } else if (currentToken.getType() != STRING) { throw new JsonException( "Expected " + STRING.getLabel() + " key " + "on line: " + currentToken.getStartLine() + ", " + "column: " + currentToken.getStartColumn() + ".\n" + "But got '" + currentToken.getText() + "' instead."); } String mapKey = (String) currentToken.getValue(); currentToken = lexer.nextToken(); if (currentToken == null) { throw new JsonException( "Expected a " + COLON.getLabel() + " " + "on line: " + lexer.getReader().getLine() + ", " + "column: " + lexer.getReader().getColumn() + ".\n" + "But got an unterminated object."); } // expect a colon between the key and value pair if (currentToken.getType() != COLON) { throw new JsonException( "Expected " + COLON.getLabel() + " " + "on line: " + currentToken.getStartLine() + ", " + "column: " + currentToken.getStartColumn() + ".\n" + "But got '" + currentToken.getText() + "' instead."); } currentToken = lexer.nextToken(); if (currentToken == null) { throw new JsonException( "Expected a value " + "on line: " + lexer.getReader().getLine() + ", " + "column: " + lexer.getReader().getColumn() + ".\n" + "But got an unterminated object."); } // value can be an object, an array, a number, string, boolean or null values if (currentToken.getType() == OPEN_CURLY) { content.put(mapKey, parseObject(lexer)); } else if (currentToken.getType() == OPEN_BRACKET) { content.put(mapKey, parseArray(lexer)); } else if (currentToken.getType().ordinal() >= NULL.ordinal()) { content.put(mapKey, currentToken.getValue()); } else { throw new JsonException( "Expected a value, an array, or an object " + "on line: " + currentToken.getStartLine() + ", " + "column: " + currentToken.getStartColumn() + ".\n" + "But got '" + currentToken.getText() + "' instead."); } previousToken = currentToken; currentToken = lexer.nextToken(); // premature end of the object if (currentToken == null) { throw new JsonException( "Expected " + CLOSE_CURLY.getLabel() + " or " + COMMA.getLabel() + " " + "on line: " + previousToken.getEndLine() + ", " + "column: " + previousToken.getEndColumn() + ".\n" + "But got an unterminated object."); } // Expect a comma for an upcoming key/value pair // or a closing curly brace for the end of the object if (currentToken.getType() == CLOSE_CURLY) { break; } else if (currentToken.getType() != COMMA) { throw new JsonException( "Expected a value or " + CLOSE_CURLY.getLabel() + " " + "on line: " + currentToken.getStartLine() + ", " + "column: " + currentToken.getStartColumn() + ".\n" + "But got '" + currentToken.getText() + "' instead."); } } return content; }