enum and is binary bug fix

This commit is contained in:
ori agranat
2019-10-14 22:24:37 +03:00
parent 98a71aea66
commit ce29e904b9
2 changed files with 9 additions and 5 deletions

View File

@@ -44,8 +44,8 @@ public class ServerHandler {
users.remove(context); users.remove(context);
} }
void onBinaryMessage(WsBinaryMessageContext data) throws Exception { void onBinaryMessage(WsBinaryMessageContext context) throws Exception {
Map<String, Object> deserialized = objectMapper.readValue(ArrayUtils.toPrimitive(data.data()), new TypeReference<Map<String,Object>>(){}); Map<String, Object> deserialized = objectMapper.readValue(ArrayUtils.toPrimitive(context.data()), new TypeReference<Map<String,Object>>(){});
for (Map.Entry<String,Object> entry: deserialized.entrySet()) { for (Map.Entry<String,Object> entry: deserialized.entrySet()) {
try { try {
switch (entry.getKey()) { switch (entry.getKey()) {
@@ -87,14 +87,18 @@ public class ServerHandler {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
broadcastMessage(deserialized,context);
} }
} }
private void setField(Object obj, String fieldName, Object value) { private void setField(Object obj, String fieldName, Object value) {
try { try {
Field field = obj.getClass().getField(fieldName); Field field = obj.getClass().getField(fieldName);
if (BeanUtils.isSimpleValueType(field.getType())){ if (BeanUtils.isSimpleValueType(field.getType())){
//if enum needs to convert if (field.getType().isEnum()){
field.set(obj,value); field.set(obj,field.getType().getEnumConstants()[(Integer) value]);
}else{
field.set(obj,value);
}
} else if(field.getType() == List.class){ } else if(field.getType() == List.class){
field.set(obj,value); field.set(obj,value);
} }

View File

@@ -58,7 +58,7 @@
</v-col> </v-col>
<v-col cols="6" class="colsClass"> <v-col cols="6" class="colsClass">
<div> <div>
<v-tabs background-color="#212121" dark height="50" slider-color="#4baf62" centered style="padding-bottom:10px" v-model="pipeline.isBinary" @change="handleInput('isBinary',pipeline.isBinary)"> <v-tabs background-color="#212121" dark height="50" slider-color="#4baf62" centered style="padding-bottom:10px" v-model="pipeline.isBinary" @change="handleInput('isBinary',!!pipeline.isBinary)">
<v-tab>Normal</v-tab> <v-tab>Normal</v-tab>
<v-tab>Threshold</v-tab> <v-tab>Threshold</v-tab>
</v-tabs> </v-tabs>