src/java/isac/util/users/UserModel_AK.java
branchjava_rename_format
changeset 3922 fcd5648113ca
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/java/isac/util/users/UserModel_AK.java	Wed Jun 15 18:31:02 2005 +0200
     1.3 @@ -0,0 +1,105 @@
     1.4 +/****************************************************************** 
     1.5 + * @author Alois Kirchsteiger member of the isac team
     1.6 + * Copyright (c) 2004 by Alois Kirchsteiger
     1.7 + * create 02.09.2004, 09:25:44
     1.8 + * Insitute for Softwaretechnology, Graz University of Technology, Austria. 
     1.9 + * 
    1.10 + * Use is subject to license terms.
    1.11 + ******************************************************************/
    1.12 +
    1.13 +//TODO: implement!!!
    1.14 +package isac.util.users;
    1.15 +
    1.16 +import isac.session.SuccessInfo;
    1.17 +import isac.util.formulae.CalcElement;
    1.18 +
    1.19 +import java.io.Serializable;
    1.20 +import java.util.Iterator;
    1.21 +import java.util.Map;
    1.22 +import java.util.Set;
    1.23 +import java.util.TreeMap;
    1.24 +import java.util.Vector;
    1.25 +
    1.26 +/**
    1.27 + * @author Alois Kirchsteiger 02.09.2004 09:25:44
    1.28 + */
    1.29 +public class UserModel_AK implements Serializable {
    1.30 +
    1.31 +    /**
    1.32 +     * successInfos stores the successInfos for CalcElements. that means the key
    1.33 +     * for this TreeMap is a calcElement, the value is the relating SuccessInfo
    1.34 +     */
    1.35 +    private TreeMap success_infos_;
    1.36 +
    1.37 +    public UserModel_AK() {
    1.38 +    }
    1.39 +
    1.40 +    /**
    1.41 +     * gets the info for each CalcElement of the parameter calcElements
    1.42 +     * 
    1.43 +     * @param calcElements
    1.44 +     *            this Vector must not contain anything else than CalcElements
    1.45 +     * @return a TreeMap with the SuccessInfo for each CalcElement in the
    1.46 +     *         calcElements Vector. Those CalcElements are the index in the
    1.47 +     *         HashMap, the relating SuccessInfos are the values
    1.48 +     */
    1.49 +    public Map getSuccessInfoFor(Vector calcElements) {
    1.50 +        TreeMap result = new TreeMap();
    1.51 +        Iterator iterator = calcElements.iterator();
    1.52 +        while (iterator.hasNext()) {
    1.53 +            CalcElement calcElement = (CalcElement) iterator.next();
    1.54 +            if (success_infos_.containsKey(calcElement)) {
    1.55 +                result.put(calcElement, success_infos_.get(calcElement));
    1.56 +            } else {
    1.57 +                // no successInfo available
    1.58 +                result.put(calcElement, null);
    1.59 +            }
    1.60 +        }
    1.61 +        //TODO
    1.62 +        return result;
    1.63 +    }
    1.64 +
    1.65 +    /**
    1.66 +     * @param calcElement
    1.67 +     * @return SuccessInfo or null if no SuccessInfo available
    1.68 +     */
    1.69 +    public SuccessInfo getSuccessInfoFor(CalcElement calcElement) {
    1.70 +        return (SuccessInfo) success_infos_.get(calcElement);
    1.71 +    }
    1.72 +
    1.73 +    /**
    1.74 +     * @param calcElementsSuccesses,
    1.75 +     *            a TreeMap with a CalcElement as key and the relating success
    1.76 +     *            (Float between 0 and 1) as value
    1.77 +     */
    1.78 +    public void addSuccessInfoFor(Map calcElementsSuccesses)
    1.79 +            throws ClassCastException {
    1.80 +        Set set = calcElementsSuccesses.keySet();
    1.81 +        Iterator iterator = set.iterator();
    1.82 +        while (iterator.hasNext()) {
    1.83 +            try {
    1.84 +                CalcElement calcElement = (CalcElement) iterator.next();
    1.85 +                Float success = (Float) calcElementsSuccesses.get(calcElement);
    1.86 +                addSuccessInfoFor(calcElement, success.floatValue());
    1.87 +            } catch (ClassCastException e) {
    1.88 +                throw new ClassCastException(
    1.89 +                        "the parameter for the method "
    1.90 +                                + "void addSuccessInfoFor(TreeMap calcElementsSuccesses) "
    1.91 +                                + "must have CalcElements as keys and Floats as value!!");
    1.92 +            }
    1.93 +        }
    1.94 +    }
    1.95 +
    1.96 +    public void addSuccessInfoFor(CalcElement calcElement, float success) {
    1.97 +        SuccessInfo successInfo;
    1.98 +        if (success_infos_.containsKey(calcElement)) {
    1.99 +            successInfo = (SuccessInfo) success_infos_.get(calcElement);
   1.100 +            successInfo.addSuccess(success);
   1.101 +            success_infos_.put(calcElement, successInfo);
   1.102 +        } else {
   1.103 +            successInfo = new SuccessInfo(success);
   1.104 +            success_infos_.put(calcElement, successInfo);
   1.105 +        }
   1.106 +    }
   1.107 +
   1.108 +}
   1.109 \ No newline at end of file