|
...
|
...
|
@@ -2,13 +2,17 @@ package com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.specs; |
|
|
|
|
|
|
|
import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.EnumItemOutput;
|
|
|
|
import com.zhonglai.luhui.mqtt.comm.dto.thingsmodels.ThingsModelItemBase;
|
|
|
|
import com.zhonglai.luhui.mqtt.comm.util.DateUtils;
|
|
|
|
import lombok.Data;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
@Data
|
|
|
|
public class EnumModelOutput extends ThingsModelItemBase<Object>
|
|
|
|
{
|
|
|
|
private String clas;
|
|
|
|
private List<EnumItemOutput> enumList;
|
|
|
|
|
|
|
|
@Override
|
|
...
|
...
|
@@ -28,12 +32,12 @@ public class EnumModelOutput extends ThingsModelItemBase<Object> |
|
|
|
}
|
|
|
|
for(EnumItemOutput enumItemOutput:enumList)
|
|
|
|
{
|
|
|
|
if(enumItemOutput.getValue().equals(getValue()+""))
|
|
|
|
if(String.valueOf(enumItemOutput.getValue()).equals(String.valueOf(getValue())))
|
|
|
|
{
|
|
|
|
return enumItemOutput.getText();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return getValue()+"";
|
|
|
|
return String.valueOf(getValue());
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
...
|
...
|
@@ -47,6 +51,44 @@ public class EnumModelOutput extends ThingsModelItemBase<Object> |
|
|
|
|
|
|
|
@Override
|
|
|
|
public Object getCmdView(Object object) {
|
|
|
|
return object;
|
|
|
|
if(null == clas)
|
|
|
|
{
|
|
|
|
clas = "java.lang.String";
|
|
|
|
}
|
|
|
|
return conversion(object,clas);
|
|
|
|
}
|
|
|
|
|
|
|
|
private static Object conversion(Object data ,String clas) {
|
|
|
|
try {
|
|
|
|
return stringToTarget(String.valueOf(data),Class.forName(clas));
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
private static Object stringToTarget(String string, Class<?> t) throws Exception {
|
|
|
|
boolean nullOrEmpty = StringUtils.isEmpty(string);
|
|
|
|
|
|
|
|
if (double.class.equals(t)) {
|
|
|
|
return nullOrEmpty ? 0 : Double.parseDouble(string);
|
|
|
|
} else if (long.class.equals(t)) {
|
|
|
|
return nullOrEmpty ? 0 : Long.parseLong(string);
|
|
|
|
} else if (int.class.equals(t)) {
|
|
|
|
return nullOrEmpty ? 0 : Integer.parseInt(string);
|
|
|
|
} else if (float.class.equals(t)) {
|
|
|
|
return nullOrEmpty ? 0 : Float.parseFloat(string);
|
|
|
|
} else if (short.class.equals(t)) {
|
|
|
|
return nullOrEmpty ? 0 : Short.parseShort(string);
|
|
|
|
} else if (boolean.class.equals(t)) {
|
|
|
|
return nullOrEmpty ? 0 : Boolean.parseBoolean(string);
|
|
|
|
} else if (Date.class.equals(t)) {
|
|
|
|
return DateUtils.parseDate(string,"yyyy-mm-dd HH:mm:ss");
|
|
|
|
} else if (Number.class.isAssignableFrom(t)) {
|
|
|
|
return nullOrEmpty ? "" : t.getConstructor(String.class).newInstance(string);
|
|
|
|
} else {
|
|
|
|
return nullOrEmpty ? "" : t.getConstructor(String.class).newInstance(string);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|