diff --git a/src/main/java/electrosphere/main/core/btree/methods/ServerFieldSetter.java b/src/main/java/electrosphere/main/core/btree/methods/ServerFieldSetter.java index eae149c..bca95f9 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ServerFieldSetter.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ServerFieldSetter.java @@ -93,7 +93,9 @@ public class ServerFieldSetter implements VirtualMethod { String fieldIdVariable = "FieldIdEnums.TREE_" + this.parent.getName().toUpperCase() + "_SYNCEDFIELD_" + this.fieldName.toUpperCase() + "_ID"; SynchronizedType type = projectStructure.getType(typeName); String packetContentFiller = " int value = " + type.getContainingClassName() + "." + type.getToShortConversionMethodName() + "(" + fieldName + ");\n"; - packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructServerNotifyBTreeTransitionMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", value));"; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructServerNotifyBTreeTransitionMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", value));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); return rVal; } @@ -109,30 +111,46 @@ public class ServerFieldSetter implements VirtualMethod { String fieldIdVariable = "FieldIdEnums.TREE_" + this.parent.getName().toUpperCase() + "_SYNCEDFIELD_" + this.fieldName.toUpperCase() + "_ID"; switch(typeName){ case "long": { - String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientLongStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + String packetContentFiller = ""; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientLongStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); } break; case "float": { - String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientFloatStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + String packetContentFiller = ""; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientFloatStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); } break; - case "double": - { - String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientDoubleStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + case "double": { + String packetContentFiller = ""; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientDoubleStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); } break; case "int": { - String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientIntStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + String packetContentFiller = ""; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientIntStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); } break; case "String": { - String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStringStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + String packetContentFiller = ""; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStringStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); } break; default: { SynchronizedType type = projectStructure.getType(typeName); String packetContentFiller = " int value = " + type.getContainingClassName() + "." + type.getToShortConversionMethodName() + "(" + fieldName + ");\n"; - packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", value));"; + packetContentFiller = packetContentFiller + " if(DataCellSearchUtils.getEntityDataCell(parent) != null){\n"; + packetContentFiller = packetContentFiller + " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", value));\n"; + packetContentFiller = packetContentFiller + " }"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); } break; }