diff --git a/src/main/java/electrosphere/main/structure/ClientSynchronizationManager.java b/src/main/java/electrosphere/main/structure/ClientSynchronizationManager.java index 61a1598..cefd858 100644 --- a/src/main/java/electrosphere/main/structure/ClientSynchronizationManager.java +++ b/src/main/java/electrosphere/main/structure/ClientSynchronizationManager.java @@ -31,13 +31,30 @@ public class ClientSynchronizationManager { String treeName = clientEquivalent.getClassName(); String fieldIdVariable = "TREE_" + serverTree.name.toUpperCase() + "_SYNCEDFIELD_" + field.fieldName.toUpperCase() + "_ID"; switch(field.typeName){ - case "int": - case "long": - case "float": - case "double": - { - throw new UnsupportedOperationException("Trying to parse type that is not supported yet"); - } + case "int": { + updateCases = updateCases + " case FieldIdEnums." + fieldIdVariable + ":{\n"; + updateCases = updateCases + " " + treeName + " tree = " + treeName + ".get" + treeName + "(entity);\n"; + updateCases = updateCases + " tree." + field.getSetterName() + "(message.getintValue());\n"; + updateCases = updateCases + " } break;\n"; + } break; + case "long": { + updateCases = updateCases + " case FieldIdEnums." + fieldIdVariable + ":{\n"; + updateCases = updateCases + " " + treeName + " tree = " + treeName + ".get" + treeName + "(entity);\n"; + updateCases = updateCases + " tree." + field.getSetterName() + "(message.getlongValue());\n"; + updateCases = updateCases + " } break;\n"; + } break; + case "float": { + updateCases = updateCases + " case FieldIdEnums." + fieldIdVariable + ":{\n"; + updateCases = updateCases + " " + treeName + " tree = " + treeName + ".get" + treeName + "(entity);\n"; + updateCases = updateCases + " tree." + field.getSetterName() + "(message.getfloatValue());\n"; + updateCases = updateCases + " } break;\n"; + } break; + case "double": { + updateCases = updateCases + " case FieldIdEnums." + fieldIdVariable + ":{\n"; + updateCases = updateCases + " " + treeName + " tree = " + treeName + ".get" + treeName + "(entity);\n"; + updateCases = updateCases + " tree." + field.getSetterName() + "(message.getdoubleValue());\n"; + updateCases = updateCases + " } break;\n"; + } break; case "String": { updateCases = updateCases + " case FieldIdEnums." + fieldIdVariable + ":{\n"; updateCases = updateCases + " " + treeName + " tree = " + treeName + ".get" + treeName + "(entity);\n"; @@ -58,7 +75,7 @@ public class ClientSynchronizationManager { updateCases = updateCases + " } break;\n"; //guarantee import - ClassSourceUtils.importClass(structure, clientSynchronizationManager, serverTree.getTargetFile().getQualifiedPath()); + // ClassSourceUtils.importClass(structure, clientSynchronizationManager, serverTree.getTargetFile().getQualifiedPath()); ClassSourceUtils.importClass(structure, clientSynchronizationManager, structure.getTree(serverTree.correspondingTreeName).getTargetFile().getQualifiedPath()); } } diff --git a/src/main/java/electrosphere/main/structure/SynchronizedField.java b/src/main/java/electrosphere/main/structure/SynchronizedField.java index 54720f9..6a956ea 100644 --- a/src/main/java/electrosphere/main/structure/SynchronizedField.java +++ b/src/main/java/electrosphere/main/structure/SynchronizedField.java @@ -74,13 +74,23 @@ public class SynchronizedField { String bTreeIdVariable = "BehaviorTreeIdEnums.BTREE_" + this.parent.name.toUpperCase() + "_ID"; String fieldIdVariable = "FieldIdEnums.TREE_" + this.parent.name.toUpperCase() + "_SYNCEDFIELD_" + this.fieldName.toUpperCase() + "_ID"; switch(typeName){ - case "int": - case "long": - case "float": + case "long": { + String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientLongStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + 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 + "));"; + rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller); + } break; case "double": { - throw new UnsupportedOperationException("Trying to parse type that is not supported yet"); - } + String packetContentFiller = " DataCellSearchUtils.getEntityDataCell(parent).broadcastNetworkMessage(SynchronizationMessage.constructUpdateClientDoubleStateMessage(parent.getId(), " + bTreeIdVariable + ", " + fieldIdVariable + ", " + fieldName + "));"; + 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 + "));"; + 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 + "));"; rVal = TemplateInjectionUtils.getFragmentWithReplacement("/server/Setter.java", fieldName, Utilities.camelCase(fieldName), typeName, packetContentFiller);