diff --git a/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java b/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java index e06a55f..762f26f 100644 --- a/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java +++ b/src/main/java/electrosphere/main/client/syncmanager/methods/UpdateEntityState.java @@ -1,5 +1,6 @@ package electrosphere.main.client.syncmanager.methods; +import java.util.LinkedList; import java.util.List; import electrosphere.main.core.btree.BehaviorTree; @@ -75,9 +76,6 @@ public class UpdateEntityState implements VirtualMethod { } updateCases = updateCases + " }\n"; updateCases = updateCases + " } break;\n"; - - // //guarantee import - // ClassSourceUtils.importClass(structure, this.file, structure.getTree(serverTree.getCorrespondingTreeName()).getTargetFile().getQualifiedPath()); } } String fullReplacementText = TemplateInjectionUtils.getFragmentWithReplacement("/client/UpdateEntityState.java", updateCases); @@ -86,8 +84,15 @@ public class UpdateEntityState implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = new LinkedList(); + + //add server trees + for(BehaviorTree bTree : projectStructure.getBehaviorTrees()){ + if(bTree.getName().contains("client")){ + rVal.add(bTree.getTargetFile().getQualifiedPath()); + } + } + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ClientAttach.java b/src/main/java/electrosphere/main/core/btree/methods/ClientAttach.java index 6188ff3..47aa066 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ClientAttach.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ClientAttach.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.project.ProjectStructure; @@ -42,8 +43,10 @@ public class ClientAttach implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + "electrosphere.net.synchronization.BehaviorTreeIdEnums", + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ClientDetach.java b/src/main/java/electrosphere/main/core/btree/methods/ClientDetach.java index b29b3db..851953b 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ClientDetach.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ClientDetach.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.project.ProjectStructure; @@ -42,8 +43,9 @@ public class ClientDetach implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ClientFieldGetter.java b/src/main/java/electrosphere/main/core/btree/methods/ClientFieldGetter.java index 14d5ba8..ec69e29 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ClientFieldGetter.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ClientFieldGetter.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.core.btree.BehaviorTree; @@ -49,8 +50,9 @@ public class ClientFieldGetter implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ClientFieldSetter.java b/src/main/java/electrosphere/main/core/btree/methods/ClientFieldSetter.java index df6a9bc..30cb0a3 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ClientFieldSetter.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ClientFieldSetter.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.core.btree.BehaviorTree; @@ -49,8 +50,9 @@ public class ClientFieldSetter implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/Constructor.java b/src/main/java/electrosphere/main/core/btree/methods/Constructor.java index 7ca4671..7b4aec7 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/Constructor.java +++ b/src/main/java/electrosphere/main/core/btree/methods/Constructor.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.project.ProjectStructure; @@ -41,8 +42,9 @@ public class Constructor implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/Fetch.java b/src/main/java/electrosphere/main/core/btree/methods/Fetch.java index 155a4b6..7e9c108 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/Fetch.java +++ b/src/main/java/electrosphere/main/core/btree/methods/Fetch.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.project.ProjectStructure; @@ -41,8 +42,9 @@ public class Fetch implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/FromTypeConversion.java b/src/main/java/electrosphere/main/core/btree/methods/FromTypeConversion.java index 752709f..4258bde 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/FromTypeConversion.java +++ b/src/main/java/electrosphere/main/core/btree/methods/FromTypeConversion.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.core.syncfield.SynchronizedType; @@ -47,8 +48,9 @@ public class FromTypeConversion implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ServerAttach.java b/src/main/java/electrosphere/main/core/btree/methods/ServerAttach.java index 6cabb1c..72ead30 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ServerAttach.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ServerAttach.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.project.ProjectStructure; @@ -42,8 +43,11 @@ public class ServerAttach implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + "electrosphere.server.datacell.utils.ServerBehaviorTreeUtils", + "electrosphere.net.synchronization.BehaviorTreeIdEnums", + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ServerDetach.java b/src/main/java/electrosphere/main/core/btree/methods/ServerDetach.java index e060620..a248418 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ServerDetach.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ServerDetach.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.project.ProjectStructure; @@ -42,8 +43,9 @@ public class ServerDetach implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ServerFieldGetter.java b/src/main/java/electrosphere/main/core/btree/methods/ServerFieldGetter.java index 26eb1f2..d9863df 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ServerFieldGetter.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ServerFieldGetter.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.core.btree.BehaviorTree; @@ -48,8 +49,9 @@ public class ServerFieldGetter implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override 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 3c930b3..c7b3993 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ServerFieldSetter.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ServerFieldSetter.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.core.btree.BehaviorTree; @@ -79,8 +80,12 @@ public class ServerFieldSetter implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + "electrosphere.net.parser.net.message.SynchronizationMessage", + "electrosphere.server.datacell.utils.DataCellSearchUtils", + "electrosphere.net.synchronization.FieldIdEnums", + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/core/btree/methods/ToTypeConversion.java b/src/main/java/electrosphere/main/core/btree/methods/ToTypeConversion.java index 1d76c2a..3d86c87 100644 --- a/src/main/java/electrosphere/main/core/btree/methods/ToTypeConversion.java +++ b/src/main/java/electrosphere/main/core/btree/methods/ToTypeConversion.java @@ -1,5 +1,6 @@ package electrosphere.main.core.btree.methods; +import java.util.Arrays; import java.util.List; import electrosphere.main.core.syncfield.SynchronizedType; @@ -50,8 +51,9 @@ public class ToTypeConversion implements VirtualMethod { @Override public List getImports(ProjectStructure projectStructure) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'getImports'"); + List rVal = Arrays.asList(new String[]{ + }); + return rVal; } @Override diff --git a/src/main/java/electrosphere/main/project/parsers/BTreeParser.java b/src/main/java/electrosphere/main/project/parsers/BTreeParser.java index 49fccc7..3384632 100644 --- a/src/main/java/electrosphere/main/project/parsers/BTreeParser.java +++ b/src/main/java/electrosphere/main/project/parsers/BTreeParser.java @@ -82,6 +82,13 @@ public class BTreeParser { rVal.addMethod(new Constructor(bTreeName, target.getSource().getName())); rVal.addMethod(new Fetch(bTreeName, target.getSource().getName())); + + // + // + // ADD IMPORTS HERE + // + // + rVal.addImport("electrosphere.net.synchronization.BehaviorTreeIdEnums"); } // diff --git a/src/main/java/electrosphere/main/source/VirtualClass.java b/src/main/java/electrosphere/main/source/VirtualClass.java index 6710ae4..adea9de 100644 --- a/src/main/java/electrosphere/main/source/VirtualClass.java +++ b/src/main/java/electrosphere/main/source/VirtualClass.java @@ -92,6 +92,9 @@ public abstract class VirtualClass { * @param structure The project */ public void updateFile(ProjectStructure structure){ + + // + //define methods for(VirtualMethod method : this.methods){ if(method.shouldOverwrite()){ ClassSourceUtils.addOrReplaceMethod(structure, this.targetFile, method.getName(structure), method.getContent(structure)); @@ -99,9 +102,17 @@ public abstract class VirtualClass { ClassSourceUtils.addMethodIfAbsent(structure, this.targetFile, method.getName(structure), method.getContent(structure)); } } - // for(VirtualField field : this.fields){ - // throw new UnsupportedOperationException("updating fields not supported yet!"); - // } + + // + //imports from methods + for(VirtualMethod method : this.methods){ + for(String currentImport : method.getImports(structure)){ + ClassSourceUtils.importClass(structure, this.targetFile, currentImport); + } + } + + // + //direct imports from the class for(String currentImport : this.imports){ ClassSourceUtils.importClass(structure, this.targetFile, currentImport); } @@ -123,5 +134,13 @@ public abstract class VirtualClass { this.methods.add(method); } + /** + * Adds a new import statement + * @param newImport The import + */ + public void addImport(String newImport){ + this.imports.add(newImport); + } + }