Changeset 1029


Ignore:
Timestamp:
03/18/2011 05:46:48 PM (10 years ago)
Author:
muk7
Message:

included retrieval times into xml import/export

Location:
AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/MemoryLoaderHandler.java

    r896 r1029  
    2424 * History:  
    2525 * Meiyii Lim: 17/12/10 - File created 
    26  *  
     26 * Matthias Keysermann: 18/03/11 - Added RetrievalQueue, RetrievalTime 
    2727 * **/ 
    2828 
     
    4141import FAtiMA.Core.memory.episodicMemory.ShortTermEpisodicMemory; 
    4242import FAtiMA.Core.memory.episodicMemory.Time; 
     43import FAtiMA.Core.memory.episodicMemory.RetrievalQueue; 
    4344import FAtiMA.Core.memory.semanticMemory.KnowledgeBase; 
    4445import FAtiMA.Core.memory.semanticMemory.WorkingMemory; 
     
    6061        private Event _currentCause; 
    6162        private ShortTermEpisodicMemory _currentSTEM; 
     63        private RetrievalQueue _currentRetrievalQueue; 
    6264         
    6365        private class MemoryBaseEmotion extends BaseEmotion{ 
     
    7678                _currentWM = new WorkingMemory(); 
    7779                _currentAM = new AutobiographicalMemory(); 
    78                 _currentSTEM = new ShortTermEpisodicMemory(); 
    79                  
     80                _currentSTEM = new ShortTermEpisodicMemory();            
     81 
    8082                _memory.getSemanticMemory().putKnowledgeBase(_currentKB); 
    8183                _memory.getSemanticMemory().putWorkingMemory(_currentWM); 
     
    148150            //System.out.println(narrativeTime + " " + realTime + " " + eventSequence); 
    149151        } 
    150  
     152         
     153        public void RetrievalQueue(Attributes attributes) {          
     154                _currentRetrievalQueue = new RetrievalQueue(_currentAD.getID()); 
     155                _currentAD.setRetrievalQueue(_currentRetrievalQueue); 
     156                // DEBUG 
     157                //System.out.println("new queue created for id " + _currentAD.getID()); 
     158        } 
     159         
     160        public void RetrievalTime(Attributes attributes) { 
     161                Long narrativeTime = Long.parseLong(attributes.getValue("narrativeTime")); 
     162            Long realTime = Long.parseLong(attributes.getValue("realTime")); 
     163            int eventSequence = Integer.parseInt(attributes.getValue("eventSequence")); 
     164            Time retrievalTime = new Time(narrativeTime, realTime, eventSequence);       
     165            _currentRetrievalQueue.addRetrievalTime(retrievalTime); 
     166            // DEBUG 
     167                //System.out.println("added retrieval time"); 
     168                //System.out.println(retrievalTime); 
     169        } 
     170         
    151171        public void AMEvent(Attributes attributes) { 
    152172            int eventID = Integer.parseInt(attributes.getValue("eventID")); 
     
    158178            String location = attributes.getValue("location"); 
    159179            float desirability = Float.parseFloat(attributes.getValue("desirability")); 
    160             float praiseworthiness = Float.parseFloat(attributes.getValue("praiseworthiness"));  
     180            float praiseworthiness = Float.parseFloat(attributes.getValue("praiseworthiness"));              
    161181             
    162182            _currentAD = new ActionDetail(_memory, eventID, subject, eType, event, status, target, location, desirability, praiseworthiness); 
    163             _currentME.putActionDetail(_currentAD);      
     183            _currentME.putActionDetail(_currentAD); 
    164184            _currentParameters = new ArrayList<Parameter>(); 
    165185            _currentAD.setParameters(_currentParameters); 
     
    186206                Name direction = Name.ParseName(attributes.getValue("direction")); 
    187207                String aux = attributes.getValue("appraisalVariables"); 
    188                 String[] appraisalVariables = (String[]) extractItems(aux).toArray(); 
     208                 
     209                // Matthias 18/03/11: parse appraisal variables 
     210                ArrayList<String> auxList = extractItems(aux); 
     211                String[] appraisalVariables = new String[auxList.size()]; 
     212                for(int i = 0; i < auxList.size(); i++) { 
     213                        appraisalVariables[i] = auxList.get(i); 
     214                } 
     215                 
    189216            float potential = Float.parseFloat(attributes.getValue("potential")); 
    190217                     
     
    246273            float desirability = Float.parseFloat(attributes.getValue("desirability")); 
    247274            float praiseworthiness = Float.parseFloat(attributes.getValue("praiseworthiness"));      
    248            
     275 
    249276            _currentAD = new ActionDetail(_memory, eventID, subject, eType, event, status, target, location, desirability, praiseworthiness); 
    250277            _currentSTEM.putActionDetail(_currentAD);      
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/writers/MemoryWriter.java

    r896 r1029  
    2525 * History:  
    2626 * Meiyii Lim: 15/12/10 - File created 
    27  *  
     27 * Matthias Keysermann: 18/03/11 - included RetrievalQueue 
    2828 * **/ 
    2929 
     
    4444import FAtiMA.Core.sensorEffector.Parameter; 
    4545import FAtiMA.Core.util.enumerables.EventType; 
     46import FAtiMA.Core.memory.episodicMemory.Time; 
     47 
    4648 
    4749 
     
    136138                        } 
    137139                        _outputter.endTag(); //AutobiographicMemory                      
    138                         _outputter.whitespace("\n"); 
     140                        //_outputter.whitespace("\n"); 
    139141                         
    140142                        // ShortTermEpisodicMemory entries 
     
    204206                                if(ad.getEmotion().GetDirection() != null) 
    205207                                        _outputter.attribute("direction", ad.getEmotion().GetDirection().toString()); 
    206                                 if(ad.getEmotion().GetAppraisalVariables() != null) 
    207                                         _outputter.attribute("appraisalVariables", ad.getEmotion().GetAppraisalVariables().toString()); //ArrayList 
     208                                 
     209                                // Matthias 18/03/11: extract appraisal variables 
     210                                String[] appraisalVariables = ad.getEmotion().GetAppraisalVariables(); 
     211                                if(appraisalVariables != null) { 
     212                                        String aux = "["; 
     213                                        if(appraisalVariables.length > 0) {                                              
     214                                                aux += appraisalVariables[0]; 
     215                                                for(int i = 1; i < appraisalVariables.length; i++) { 
     216                                                        aux += ", " + appraisalVariables[i]; 
     217                                                } 
     218                                        } 
     219                                        aux += "]"; 
     220                                        _outputter.attribute("appraisalVariables", aux);                                         
     221                                } 
     222                                 
    208223                                _outputter.attribute("potential", Float.toString(ad.getEmotion().GetPotential())); 
    209224                                 
     
    244259                        _outputter.attribute("eventSequence", Integer.toString(ad.getTime().getEventSequence())); 
    245260                        _outputter.endTag();    //EventTime 
     261                         
     262                        // Matthias 18/03/11 
     263                         
     264                        // retrieval queue 
     265                        _outputter.startTag("RetrievalQueue"); 
     266                        for(Time retrievalTime : ad.getRetrievalQueue().getRetrievalTimes()) { 
     267                                _outputter.startTag("RetrievalTime"); 
     268                                _outputter.attribute("narrativeTime", Long.toString(retrievalTime.getNarrativeTime())); 
     269                                _outputter.attribute("realTime", Long.toString(retrievalTime.getRealTime())); 
     270                                _outputter.attribute("eventSequence", Integer.toString(retrievalTime.getEventSequence())); 
     271                                _outputter.endTag();    //RetrievalTime                          
     272                        } 
     273                        _outputter.endTag();    //RetrievalQueue 
     274 
    246275                } 
    247276                catch(IOException e) 
Note: See TracChangeset for help on using the changeset viewer.