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