iscs v2
This commit is contained in:
parent
3bfa4472b3
commit
02d7e7522d
Binary file not shown.
@ -1,6 +1,8 @@
|
|||||||
package club.joylink.rtss.iscs.memory;
|
package club.joylink.rtss.iscs.memory;
|
||||||
|
|
||||||
|
import club.joylink.iscs.model.data.PageDataModelProto.PageDataModel;
|
||||||
import club.joylink.iscs.model.status.soe.SoeProto;
|
import club.joylink.iscs.model.status.soe.SoeProto;
|
||||||
|
import club.joylink.rtss.iscs.entity.IscsModelData;
|
||||||
import club.joylink.rtss.iscs.memory.model.ModelMemory;
|
import club.joylink.rtss.iscs.memory.model.ModelMemory;
|
||||||
import club.joylink.rtss.iscs.memory.model.ModelMemoryId;
|
import club.joylink.rtss.iscs.memory.model.ModelMemoryId;
|
||||||
|
|
||||||
@ -25,4 +27,30 @@ public class MemoryManager {
|
|||||||
*/
|
*/
|
||||||
private LinkedList<SoeProto.AlarmEvent.Builder> alarmEvents = new LinkedList<>();
|
private LinkedList<SoeProto.AlarmEvent.Builder> alarmEvents = new LinkedList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加从数据库加载的页面模型数据
|
||||||
|
*/
|
||||||
|
public void addModelData(IscsModelData md) {
|
||||||
|
final ModelMemory mm = ModelMemory.create(md);
|
||||||
|
modelMemories.put(mm.mmId(), mm);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据页面坐标获取页面模型数据
|
||||||
|
*/
|
||||||
|
public PageDataModel.Builder getModelData(String system, String view, String place) {
|
||||||
|
final ModelMemory modelMemory = modelMemories.get(new ModelMemoryId(system, view, place));
|
||||||
|
if (null != modelMemory) {
|
||||||
|
final PageDataModel.Builder rt = PageDataModel.newBuilder();
|
||||||
|
final ModelMemoryId mmId = modelMemory.mmId();
|
||||||
|
rt.setId(mmId.getId());
|
||||||
|
rt.setSystem(mmId.getSystem());
|
||||||
|
rt.setView(mmId.getView());
|
||||||
|
rt.setPlace(mmId.getPlace());
|
||||||
|
rt.setContent(modelMemory.allDataModels());
|
||||||
|
return rt;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package club.joylink.rtss.iscs.memory.model;
|
|||||||
|
|
||||||
import club.joylink.iscs.model.data.DataModelMapProto;
|
import club.joylink.iscs.model.data.DataModelMapProto;
|
||||||
import club.joylink.iscs.model.data.DataModelProto;
|
import club.joylink.iscs.model.data.DataModelProto;
|
||||||
|
import club.joylink.rtss.iscs.entity.IscsModelData;
|
||||||
import com.google.protobuf.GeneratedMessageV3;
|
import com.google.protobuf.GeneratedMessageV3;
|
||||||
import com.google.protobuf.InvalidProtocolBufferException;
|
import com.google.protobuf.InvalidProtocolBufferException;
|
||||||
|
|
||||||
@ -43,9 +44,16 @@ public interface ModelMemory {
|
|||||||
*/
|
*/
|
||||||
void recoverFrom(byte[] modelsData) throws InvalidProtocolBufferException;
|
void recoverFrom(byte[] modelsData) throws InvalidProtocolBufferException;
|
||||||
|
|
||||||
public static ModelMemory create(byte[] modelsData) throws InvalidProtocolBufferException {
|
ModelMemoryId mmId();
|
||||||
|
|
||||||
|
public static ModelMemory create(IscsModelData md) {
|
||||||
ModelMemoryImpl impl = new ModelMemoryImpl();
|
ModelMemoryImpl impl = new ModelMemoryImpl();
|
||||||
impl.recoverFrom(modelsData);
|
try {
|
||||||
|
impl.mmId = new ModelMemoryId(md.getId(), md.getSystem(), md.getView(), md.getPlace());
|
||||||
|
impl.recoverFrom(md.getData());
|
||||||
|
} catch (InvalidProtocolBufferException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
return impl;
|
return impl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,14 +1,25 @@
|
|||||||
package club.joylink.rtss.iscs.memory.model;
|
package club.joylink.rtss.iscs.memory.model;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
/**
|
/**
|
||||||
* 页模型数据的id
|
* 页模型数据的id
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
public class ModelMemoryId {
|
public class ModelMemoryId {
|
||||||
|
private Long id;//数据库记录id
|
||||||
private String system;
|
private String system;
|
||||||
private String view;
|
private String view;
|
||||||
private String place;
|
private String place;
|
||||||
|
|
||||||
|
public ModelMemoryId(Long id, String system, String view, String place) {
|
||||||
|
this.id = id;
|
||||||
|
this.system = system;
|
||||||
|
this.view = view;
|
||||||
|
this.place = place;
|
||||||
|
}
|
||||||
|
|
||||||
public ModelMemoryId(String system, String view, String place) {
|
public ModelMemoryId(String system, String view, String place) {
|
||||||
this.system = system;
|
this.system = system;
|
||||||
this.view = view;
|
this.view = view;
|
||||||
|
@ -15,7 +15,7 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ModelMemoryImpl implements ModelMemory {
|
public class ModelMemoryImpl implements ModelMemory {
|
||||||
|
ModelMemoryId mmId;
|
||||||
/**
|
/**
|
||||||
* 模型数据存储空间
|
* 模型数据存储空间
|
||||||
*/
|
*/
|
||||||
@ -33,10 +33,13 @@ public class ModelMemoryImpl implements ModelMemory {
|
|||||||
*/
|
*/
|
||||||
private final Map<Class<? extends GeneratedMessageV3>, Method> modelMap = new HashMap<>();
|
private final Map<Class<? extends GeneratedMessageV3>, Method> modelMap = new HashMap<>();
|
||||||
|
|
||||||
public ModelMemoryImpl() {
|
ModelMemoryImpl() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public ModelMemoryId mmId() {
|
||||||
|
return this.mmId;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 获取模型数据的引用
|
* 获取模型数据的引用
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user