/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/delivery/CalculatedQuestionBean.java $
* $Id: CalculatedQuestionBean.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $
***********************************************************************************
*
* Copyright (c) 2004, 2005, 2006, 2008 The Sakai Foundation
*
* Licensed under the Educational Community License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ECL-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**********************************************************************************/
package org.sakaiproject.tool.assessment.ui.bean.delivery;
import java.util.ArrayList;
import java.util.Iterator;
import org.sakaiproject.tool.assessment.data.dao.grading.ItemGradingData;
import org.sakaiproject.tool.assessment.data.ifc.assessment.AnswerIfc;
import org.sakaiproject.tool.assessment.data.ifc.assessment.ItemTextIfc;
public class CalculatedQuestionBean
{
private ItemContentsBean parent;
private ItemTextIfc itemText;
private ItemGradingData data;
private String response;
private ArrayList choices;
private String text;
private String feedback;
private AnswerIfc answer;
private boolean isCorrect;
public ItemContentsBean getItemContentsBean()
{
return parent;
}
public void setItemContentsBean(ItemContentsBean bean)
{
parent = bean;
}
public ItemTextIfc getItemText()
{
return itemText;
}
public void setItemText(ItemTextIfc newtext)
{
itemText = newtext;
}
public ItemGradingData getItemGradingData()
{
return data;
}
public void setItemGradingData(ItemGradingData newdata)
{
data = newdata;
}
public String getResponse()
{
return response;
}
public void setResponse(String newresp)
{
response = newresp;
if (data == null)
{
data = new ItemGradingData();
data.setPublishedItemId(parent.getItemData().getItemId());
data.setPublishedItemTextId(itemText.getId());
ArrayList items = parent.getItemGradingDataArray();
items.add(data);
parent.setItemGradingDataArray(items);
}
// Fixed for SAK-5535
// If we don't reset published answer id to null, the previous selected value will remain in the bean
// That is, the "select" selection in dropdown will never be set
if (newresp.equals("0")) {
data.setPublishedAnswerId(null);
}
Iterator iter = itemText.getAnswerSet().iterator();
while (iter.hasNext())
{
AnswerIfc answer = (AnswerIfc) iter.next();
if (answer.getId().toString().equals(newresp))
{
data.setPublishedAnswerId(answer.getId());
break;
}
}
}
public ArrayList getChoices()
{
return choices;
}
public void setChoices(ArrayList newch)
{
choices = newch;
}
public String getText()
{
return text;
}
public void setText(String newtext)
{
text = newtext;
}
public String getFeedback()
{
return feedback;
}
public void setFeedback(String newfb)
{
feedback = newfb;
}
public void setAnswer(AnswerIfc answer)
{
this.answer = answer;
}
public AnswerIfc getAnswer(){
return answer;
}
public void setIsCorrect(boolean isCorrect)
{
this.isCorrect = isCorrect;
}
public boolean getIsCorrect()
{
return isCorrect;
}
}