@Override public Date toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BInteger time = (BInteger) packet.getValue(); return new Date(time.intValue()); } }
@SuppressWarnings("unchecked") @Override public Instant toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BInteger epochMilli = (BInteger) packet.getValue(); return Instant.ofEpochMilli(epochMilli.intValue()); } }
public void addObjReference(BMap<String, BValue> jBMap, Object object) { BInteger objId = (BInteger) jBMap.get(ID_TAG); if (objId != null) { identityMap.put(objId.intValue(), object); } }
private long getIntValue(BMap<String, BValue> responseCacheControl, String fieldName) { return ((BInteger) responseCacheControl.get(fieldName)).intValue(); } }
@Override public long getIntField(String fieldName) { return ((BInteger) value.get(fieldName)).intValue(); }
@SuppressWarnings("unchecked") @Override public ArrayList toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BInteger length = (BInteger) packet.get(JsonSerializerConst.LENGTH_TAG); BValueArray array = (BValueArray) packet.getValue(); ArrayList arrayList = new ArrayList((int) length.intValue()); int i = 0; for (; i < array.size(); i++) { arrayList.add(bValueDeserializer.deserialize(array.getRefValue(i), null)); } for (; i < length.intValue(); i++) { arrayList.add(i, null); } return arrayList; } }
@SuppressWarnings("unchecked") @Override public HashSet toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BInteger length = (BInteger) packet.get(JsonSerializerConst.LENGTH_TAG); BValueArray array = (BValueArray) packet.getValue(); HashSet set = new HashSet((int) length.intValue()); for (int i = 0; i < array.size(); i++) { set.add(bValueDeserializer.deserialize(array.getRefValue(i), null)); } return set; } }
private Object createArrayInstance(BMap<String, BValue> jsonNode) { BString ct = (BString) jsonNode.get(COMPONENT_TYPE); String componentType = ct.stringValue(); BInteger bSize = (BInteger) jsonNode.get(LENGTH_TAG); int size = (int) bSize.intValue(); Class<?> clazz = findClass(componentType); if (clazz != null) { return Array.newInstance(clazz, size); } throw new BallerinaException("Can not create array instance of: " + componentType + "[]"); }
@Override @SuppressWarnings("unchecked") public BArrayType toObject(BPacket packet, BValueDeserializer bValueDeserializer) { BType elemType = (BType) bValueDeserializer.deserialize(packet.get(ELEM_TYPE), BType.class); int size = (int) ((BInteger) packet.get(SIZE)).intValue(); return new BArrayType(elemType, size); } }
private Object findExistingReference(BMap<String, BValue> jBMap) { if (!jBMap.hasKey(EXISTING_TAG)) { return null; } BInteger existingObjId = (BInteger) jBMap.get(EXISTING_TAG); Object existingObjRef = getExistingObjRef(existingObjId.intValue()); if (existingObjRef == null) { throw new BallerinaException("Can not find existing reference: " + existingObjId); } return existingObjRef; }
private static BValueArray jsonArrayToBIntArray(BValueArray arrayNode) { BValueArray intArray = new BValueArray(BTypes.typeInt); for (int i = 0; i < arrayNode.size(); i++) { BRefType<?> jsonValue = arrayNode.getRefValue(i); intArray.add(i, ((BInteger) convertJSON(jsonValue, BTypes.typeInt)).intValue()); } return intArray; }
private static void setPropertiesToTransportMessage(HttpCarbonMessage outboundResponseMsg, BMap<String, BValue> struct) { if (isResponseStruct(struct)) { long statusCode = ((BInteger) struct.get(RESPONSE_STATUS_CODE_FIELD)).intValue(); if (statusCode != 0) { outboundResponseMsg.setProperty(HttpConstants.HTTP_STATUS_CODE, getIntValue(statusCode)); } BValue respPhrase = struct.get(RESPONSE_REASON_PHRASE_FIELD); if (respPhrase != null && !respPhrase.stringValue().isEmpty()) { outboundResponseMsg.setProperty(HttpConstants.HTTP_REASON_PHRASE, respPhrase.stringValue()); } } }
public static void copyArgValueForWorkerReceive(StackFrame currentSF, int regIndex, BType paramType, BRefType passedInValue) { switch (paramType.getTag()) { case TypeTags.INT_TAG: currentSF.longRegs[regIndex] = ((BInteger) passedInValue).intValue(); break; case TypeTags.BYTE_TAG: currentSF.intRegs[regIndex] = ((BByte) passedInValue).byteValue(); break; case TypeTags.FLOAT_TAG: currentSF.doubleRegs[regIndex] = ((BFloat) passedInValue).floatValue(); break; case TypeTags.STRING_TAG: currentSF.stringRegs[regIndex] = (passedInValue).stringValue(); break; case TypeTags.BOOLEAN_TAG: currentSF.intRegs[regIndex] = (((BBoolean) passedInValue).booleanValue()) ? 1 : 0; break; default: currentSF.refRegs[regIndex] = passedInValue; } }
@SuppressWarnings("unchecked") @Override public BObjectType toObject(BPacket packet, BValueDeserializer bValueDeserializer) { String typeName = packet.get(TYPE_NAME).stringValue(); String pkgPath = packet.get(PACKAGE_PATH).stringValue(); int flags = (int) ((BInteger) packet.get(FLAGS)).intValue(); ObjectTypeInfo objectTypeInfo = new ObjectTypeInfo(); BObjectType bObjectType = new BObjectType(objectTypeInfo, typeName, pkgPath, flags); objectTypeInfo.setType(bObjectType); return bObjectType; } }
private Object[] createEvent(BMap<String, BValue> data) { BStructureType streamType = (BStructureType) data.getType(); Object[] event = new Object[streamType.getFields().size()]; int index = 0; for (Map.Entry<String, BField> fieldEntry : streamType.getFields().entrySet()) { BField field = fieldEntry.getValue(); switch (field.getFieldType().getTag()) { case TypeTags.INT_TAG: event[index++] = ((BInteger) data.get(field.fieldName)).intValue(); break; case TypeTags.FLOAT_TAG: event[index++] = ((BFloat) data.get(field.fieldName)).floatValue(); break; case TypeTags.BOOLEAN_TAG: event[index++] = ((BBoolean) data.get(field.fieldName)).booleanValue(); break; case TypeTags.STRING_TAG: event[index++] = data.get(field.fieldName).stringValue(); break; default: throw new BallerinaException("Fields in streams do not support data types other than int, " + "float, boolean and string"); } } return event; }
private void setDataSourceProperties(BMap<String, BRefType<?>> options, HikariConfig config) { for (String key : options.keys()) { BValue value = options.get(key); if (value instanceof BString) { config.addDataSourceProperty(key, value.stringValue()); } else if (value instanceof BInteger) { config.addDataSourceProperty(key, ((BInteger) value).intValue()); } else if (value instanceof BBoolean) { config.addDataSourceProperty(key, ((BBoolean) value).booleanValue()); } else if (value instanceof BFloat) { config.addDataSourceProperty(key, ((BFloat) value).floatValue()); } } }
private static List<BreakPointDTO> buildBreakPoints(BRefType<?> json) { if (json == null || json.getType().getTag() != TypeTags.ARRAY_TAG) { return null; } List<BreakPointDTO> bPoints = new ArrayList<>(); BValueArray jsonArray = (BValueArray) json; for (int i = 0; i < jsonArray.size(); i++) { BMap<String, BRefType<?>> element = (BMap) jsonArray.getRefValue(i); BreakPointDTO bPoint = new BreakPointDTO(); bPoint.setPackagePath(element.get(PACKAGE_PATH) == null ? null : element.get(PACKAGE_PATH).stringValue()); bPoint.setFileName(element.get(FILE_NAME) == null ? null : element.get(FILE_NAME).stringValue()); bPoint.setLineNumber( element.get(LINE_NUMBER) == null ? -1 : (int) ((BInteger) element.get(LINE_NUMBER)).intValue()); bPoints.add(bPoint); } return bPoints; }
/** * Convert {@link JsonNode} to float. * * @param jsonNode {@link JsonNode} to be converted * @return BFloat value of the JSON, if its a double or a float JSON node. Error, otherwise. */ private static BFloat jsonNodeToFloat(BValue json) { if (json == null || (json.getType().getTag() != TypeTags.INT_TAG && json.getType().getTag() != TypeTags.FLOAT_TAG)) { throw BLangExceptionHelper.getRuntimeException(RuntimeErrors.INCOMPATIBLE_TYPE_FOR_CASTING_JSON, BTypes.typeFloat, getTypeName(json)); } if (json.getType().getTag() == TypeTags.INT_TAG) { return new BFloat(((BInteger) json).intValue()); } return (BFloat) json; }
@Override public void execute(Context context) { String configKey = context.getStringArgument(0); BValue configValue = context.getRefArgument(0); BType type = configValue.getType(); if (type == BTypes.typeString) { CONFIG_REGISTRY.addConfiguration(configKey, configValue.stringValue()); } else if (type == BTypes.typeInt) { CONFIG_REGISTRY.addConfiguration(configKey, ((BInteger) configValue).intValue()); } else if (type == BTypes.typeFloat) { CONFIG_REGISTRY.addConfiguration(configKey, ((BFloat) configValue).floatValue()); } else if (type == BTypes.typeBoolean) { CONFIG_REGISTRY.addConfiguration(configKey, ((BBoolean) configValue).floatValue()); } context.setReturnValues(); } }
@SuppressWarnings("unchecked") @Override public BRecordType toObject(BPacket packet, BValueDeserializer bValueDeserializer) { String typeName = packet.get(TYPE_NAME).stringValue(); String pkgPath = packet.get(PACKAGE_PATH).stringValue(); int flags = (int) ((BInteger) packet.get(FLAGS)).intValue(); int cpIndex = (int) ((BInteger) packet.get(REST_FIELD_SIGNATURE_CP_INDEX)).intValue(); BBoolean closed = (BBoolean) packet.get(CLOSED); RecordTypeInfo recTypeInfo = new RecordTypeInfo(); recTypeInfo.setRestFieldSignatureCPIndex(cpIndex); BValue restFieldTypeSig = packet.get(REST_FIELD_TYPE_SIGNATURE); if (restFieldTypeSig != null) { String typeSig = restFieldTypeSig.stringValue(); recTypeInfo.setRestFieldTypeSignature(typeSig); } BRecordType bRecType = new BRecordType(recTypeInfo, typeName, pkgPath, flags); Map<String, BField> fields = (Map<String, BField>) bValueDeserializer.deserialize(packet.getValue(), LinkedHashMap.class); bRecType.setFields(fields); recTypeInfo.setType(bRecType); bRecType.restFieldType = (BType) bValueDeserializer.deserialize(packet.get(REST_FIELD_TYPE), BType.class); bRecType.sealed = closed.booleanValue(); return bRecType; } }