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