src/java/isac/util/users/UserModel_AK.java
branchjava_rename_format
changeset 3922 fcd5648113ca
equal deleted inserted replaced
963:b4896ce4d1b0 3922:fcd5648113ca
       
     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 }