/** * Map[Display Name,Double Value] * * @param map * @param ed * @return */ public static Map<String, Double> bytesMapToDoubleMap(Map<String, byte[]> map, EntityDefinition ed) { Map<String, Double> result = new HashMap<String, Double>(); for (Map.Entry<String, byte[]> entry : map.entrySet()) { String qualifierName = entry.getKey(); Qualifier qualifier = ed.getDisplayNameMap().get(qualifierName); if (qualifier == null) { qualifier = ed.getQualifierNameMap().get(qualifierName); } if (qualifier != null && entry.getValue() != null) { qualifierName = qualifier.getDisplayName(); Object value = qualifier.getSerDeser().deserialize(entry.getValue()); result.put(qualifierName, convertObjToDouble(value)); } else { result.put(qualifierName, null); } } return result; }
for (int i = 0; i < displayNameMapSize; i++) { String key = in.readUTF(); Qualifier value = new Qualifier(); value.readFields(in); displayNameMap.put(key, value); for (int i = 0; i < qualifierNameMapSize; i++) { String key = in.readUTF(); Qualifier value = new Qualifier(); value.readFields(in); qualifierNameMap.put(key, value);
public Map<String, byte[]> writeValue(TaggedLogAPIEntity entity, EntityDefinition ed) throws Exception{ Map<String, byte[]> qualifierValues = new HashMap<String, byte[]>(); // iterate all modified qualifiers for(String fieldName : entity.modifiedQualifiers()){ PropertyDescriptor pd = PropertyUtils.getPropertyDescriptor(entity, fieldName); Object obj = pd.getReadMethod().invoke(entity); Qualifier q = ed.getDisplayNameMap().get(fieldName); EntitySerDeser<Object> ser = q.getSerDeser(); byte[] value = ser.serialize(obj); qualifierValues.put(q.getQualifierName(), value); } return qualifierValues; } }
Qualifier q = new Qualifier(); q.setDisplayName(f.getName()); q.setQualifierName(column.value()); EntitySerDeser<?> serDeser = _serDeserMap.get(fldCls); if(serDeser == null){ " of entity " + cls.getSimpleName() + " has no serializer associated "); } else { q.setSerDeser((EntitySerDeser<Object>)serDeser); ed.getQualifierNameMap().put(q.getQualifierName(), q); ed.getDisplayNameMap().put(q.getDisplayName(), q);
@Override public T toJavaTypedValue(ResultSet result, Class<?> fieldType, String fieldName, Qualifier qualifier) throws IOException { int jdbcType = JdbcEntityDefinitionManager.getJdbcType(fieldType); try { if(Types.JAVA_OBJECT == jdbcType){ byte[] bytes = result.getBytes(fieldName); return (T) qualifier.getSerDeser().deserialize(bytes); } else if(Types.BOOLEAN == jdbcType){ return (T) new Boolean(result.getBoolean(fieldName)); } else { return (T) result.getObject(fieldName); } } catch (SQLException e) { throw new IOException("Field: "+fieldName+", java type:"+fieldType+", jdbc type: "+jdbcType,e); } }
String fieldName = q.getDisplayName();
public static byte[][] getOutputQualifiers(EntityDefinition entityDef, List<String> outputFields) { final byte[][] result = new byte[outputFields.size()][]; int index = 0; for(String field : outputFields){ // convert displayName to qualifierName Qualifier q = entityDef.getDisplayNameMap().get(field); if(q == null){ // for tag case result[index++] = field.getBytes(); }else{ // for qualifier case result[index++] = q.getQualifierName().getBytes(); } } return result; }
Qualifier q = new Qualifier(); q.setDisplayName(f.getName()); q.setQualifierName(column.value()); EntitySerDeser<?> serDeser = _serDeserMap.get(fldCls); if (serDeser == null) { q.setSerDeser((EntitySerDeser<Object>)serDeser); ed.getQualifierNameMap().put(q.getQualifierName(), q); ed.getDisplayNameMap().put(q.getDisplayName(), q);
@Override public T toJavaTypedValue(ResultSet result, Class<?> fieldType, String fieldName, Qualifier qualifier) throws IOException { int jdbcType = JdbcEntityDefinitionManager.getJdbcType(fieldType); try { if(Types.JAVA_OBJECT == jdbcType){ byte[] bytes = result.getBytes(fieldName); return (T) qualifier.getSerDeser().deserialize(bytes); } else if(Types.BOOLEAN == jdbcType){ return (T) new Boolean(result.getBoolean(fieldName)); } else { return (T) result.getObject(fieldName); } } catch (SQLException e) { throw new IOException("Field: "+fieldName+", java type:"+fieldType+", jdbc type: "+jdbcType,e); } }
String fieldName = q.getDisplayName();
public static byte[][] getOutputQualifiers(EntityDefinition entityDef, List<String> outputFields) { final byte[][] result = new byte[outputFields.size()][]; int index = 0; for (String field : outputFields) { // convert displayName to qualifierName Qualifier q = entityDef.getDisplayNameMap().get(field); if (q == null) { // for tag case result[index++] = field.getBytes(); } else { // for qualifier case result[index++] = q.getQualifierName().getBytes(); } } return result; }
/** * Map[Display Name,Double Value] * * @param map * @param ed * @return */ public static Map<String,Double> bytesMapToDoubleMap(Map<String,byte[]> map,EntityDefinition ed){ Map<String,Double> result = new HashMap<String,Double>(); for(Map.Entry<String,byte[]> entry:map.entrySet()){ String qualifierName = entry.getKey(); Qualifier qualifier = ed.getDisplayNameMap().get(qualifierName); if(qualifier == null) qualifier = ed.getQualifierNameMap().get(qualifierName); if(qualifier!=null && entry.getValue()!=null) { qualifierName = qualifier.getDisplayName(); Object value = qualifier.getSerDeser().deserialize(entry.getValue()); result.put(qualifierName, convertObjToDouble(value)); }else{ result.put(qualifierName,null); } } return result; }
@SuppressWarnings("unchecked") public JdbcSerDeser getJdbcSerDeser(String columnName) { if(this.isGenericMetric() && GenericMetricEntity.VALUE_FIELD.equalsIgnoreCase(columnName)){ return JdbcEntityDefinitionManager.METRIC_JDBC_SERDESER; } Qualifier qualifier = this.getColumnQualifier(columnName); if(qualifier == null){ return JdbcEntityDefinitionManager.DEFAULT_JDBC_SERDESER; }else { return JdbcEntityDefinitionManager.getJdbcSerDeser(qualifier.getSerDeser().getClass()); } }
public Map<String, byte[]> writeValue(TaggedLogAPIEntity entity, EntityDefinition ed) throws Exception { Map<String, byte[]> qualifierValues = new HashMap<String, byte[]>(); // iterate all modified qualifiers for (String fieldName : entity.modifiedQualifiers()) { PropertyDescriptor pd = PropertyUtils.getPropertyDescriptor(entity, fieldName); Object obj = pd.getReadMethod().invoke(entity); Qualifier q = ed.getDisplayNameMap().get(fieldName); EntitySerDeser<Object> ser = q.getSerDeser(); byte[] value = ser.serialize(obj); qualifierValues.put(q.getQualifierName(), value); } return qualifierValues; } }
throw new IOException(new NullPointerException("qualifier for field " + qualifierName + " is null")); qualifierName = qualifier.getDisplayName();
for(int i=0;i<displayNameMapSize;i++){ String key = in.readUTF(); Qualifier value = new Qualifier(); value.readFields(in); displayNameMap.put(key,value); for(int i=0;i<qualifierNameMapSize;i++){ String key = in.readUTF(); Qualifier value = new Qualifier(); value.readFields(in); qualifierNameMap.put(key,value);
String qualifierName = fieldName; if (!ed.isTag(entry.getKey())) { qualifierName = ed.getDisplayNameMap().get(entry.getKey()).getQualifierName();
public static Map<String, Object> keyValuesToMap(List<KeyValue> row, EntityDefinition ed) { Map<String, Object> result = new HashMap<String, Object>(); for (KeyValue kv : row) { String qualifierName = new String(kv.getQualifier()); if (!ed.isTag(qualifierName)) { Qualifier qualifier = ed.getDisplayNameMap().get(qualifierName); if (qualifier == null) { qualifier = ed.getQualifierNameMap().get(qualifierName); } qualifierName = qualifier.getDisplayName(); Object value = qualifier.getSerDeser().deserialize(kv.getValue()); result.put(qualifierName, value); } else { result.put(qualifierName, new String(kv.getValue())); } } return result; }