src/java/isac/util/users/UserModel_AK.java
author wneuper
Wed, 15 Jun 2005 18:31:02 +0200
branchjava_rename_format
changeset 3922 fcd5648113ca
permissions -rw-r--r--
java: isac.util.tactics .. end renamed, formatted, inst_var_, import cleaned
     1 /****************************************************************** 
     2  * @author Alois Kirchsteiger member of the isac team
     3  * Copyright (c) 2004 by Alois Kirchsteiger
     4  * create 02.09.2004, 09:25:44
     5  * Insitute for Softwaretechnology, Graz University of Technology, Austria. 
     6  * 
     7  * Use is subject to license terms.
     8  ******************************************************************/
     9 
    10 //TODO: implement!!!
    11 package isac.util.users;
    12 
    13 import isac.session.SuccessInfo;
    14 import isac.util.formulae.CalcElement;
    15 
    16 import java.io.Serializable;
    17 import java.util.Iterator;
    18 import java.util.Map;
    19 import java.util.Set;
    20 import java.util.TreeMap;
    21 import java.util.Vector;
    22 
    23 /**
    24  * @author Alois Kirchsteiger 02.09.2004 09:25:44
    25  */
    26 public class UserModel_AK implements Serializable {
    27 
    28     /**
    29      * successInfos stores the successInfos for CalcElements. that means the key
    30      * for this TreeMap is a calcElement, the value is the relating SuccessInfo
    31      */
    32     private TreeMap success_infos_;
    33 
    34     public UserModel_AK() {
    35     }
    36 
    37     /**
    38      * gets the info for each CalcElement of the parameter calcElements
    39      * 
    40      * @param calcElements
    41      *            this Vector must not contain anything else than CalcElements
    42      * @return a TreeMap with the SuccessInfo for each CalcElement in the
    43      *         calcElements Vector. Those CalcElements are the index in the
    44      *         HashMap, the relating SuccessInfos are the values
    45      */
    46     public Map getSuccessInfoFor(Vector calcElements) {
    47         TreeMap result = new TreeMap();
    48         Iterator iterator = calcElements.iterator();
    49         while (iterator.hasNext()) {
    50             CalcElement calcElement = (CalcElement) iterator.next();
    51             if (success_infos_.containsKey(calcElement)) {
    52                 result.put(calcElement, success_infos_.get(calcElement));
    53             } else {
    54                 // no successInfo available
    55                 result.put(calcElement, null);
    56             }
    57         }
    58         //TODO
    59         return result;
    60     }
    61 
    62     /**
    63      * @param calcElement
    64      * @return SuccessInfo or null if no SuccessInfo available
    65      */
    66     public SuccessInfo getSuccessInfoFor(CalcElement calcElement) {
    67         return (SuccessInfo) success_infos_.get(calcElement);
    68     }
    69 
    70     /**
    71      * @param calcElementsSuccesses,
    72      *            a TreeMap with a CalcElement as key and the relating success
    73      *            (Float between 0 and 1) as value
    74      */
    75     public void addSuccessInfoFor(Map calcElementsSuccesses)
    76             throws ClassCastException {
    77         Set set = calcElementsSuccesses.keySet();
    78         Iterator iterator = set.iterator();
    79         while (iterator.hasNext()) {
    80             try {
    81                 CalcElement calcElement = (CalcElement) iterator.next();
    82                 Float success = (Float) calcElementsSuccesses.get(calcElement);
    83                 addSuccessInfoFor(calcElement, success.floatValue());
    84             } catch (ClassCastException e) {
    85                 throw new ClassCastException(
    86                         "the parameter for the method "
    87                                 + "void addSuccessInfoFor(TreeMap calcElementsSuccesses) "
    88                                 + "must have CalcElements as keys and Floats as value!!");
    89             }
    90         }
    91     }
    92 
    93     public void addSuccessInfoFor(CalcElement calcElement, float success) {
    94         SuccessInfo successInfo;
    95         if (success_infos_.containsKey(calcElement)) {
    96             successInfo = (SuccessInfo) success_infos_.get(calcElement);
    97             successInfo.addSuccess(success);
    98             success_infos_.put(calcElement, successInfo);
    99         } else {
   100             successInfo = new SuccessInfo(success);
   101             success_infos_.put(calcElement, successInfo);
   102         }
   103     }
   104 
   105 }