/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/sam/trunk/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/bean/delivery/MatrixSurveyBean.java $
* $Id: MatrixSurveyBean.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 javax.faces.model.SelectItem;
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;
/**
* @author kimhuang@rutgers.edu
* $Id: MatrixSurveyBean.java 106463 2012-04-02 12:20:09Z david.horwitz@uct.ac.za $
*/
public class MatrixSurveyBean
{
private ItemContentsBean parent;
private ItemTextIfc itemText;
private ItemGradingData data;
private String responseId;
private AnswerIfc[] answerArray;
private String[] answerSid;
private boolean response;
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 AnswerIfc[] getAnswerArray()
{
//answer.getText() should be the one item in rowChoices
return answerArray;
}
public void setAnswerArray(AnswerIfc[] newanswer)
{
answerArray = newanswer;
}
public String[] getAnswerSid()
{
return answerSid;
}
public void setAnswerSid(String[] sid){
answerSid = sid;
}
public ItemGradingData getItemGradingData()
{
return data;
}
public void setItemGradingData(ItemGradingData newdata)
{
data = newdata;
}
public String getResponseId()
{
return responseId;
}
public void setResponseId(String newresp)
{
//System.out.print("\nkim debug: MatrixSurveyBean:setResponse: newresp: " +newresp+"\n");
//System.out.print("\nkim debug: MatrixSurveyBean: setResponse: ItemText : " + itemText.getText());
//System.out.print("\nkim debug: MatrixSurveyBean:setResponse:setPublishedItemTextId:itemText.getId()\n"+itemText.getId()+"\n");
responseId = newresp;
if (newresp != null)
{
//1. remove all the old selections with the same Itemtextid(row)from ItemGradingDataArray
ArrayList items = parent.getItemGradingDataArray();
for(int i = 0; i<items.size(); i++)
{
ItemGradingData gradingData = (ItemGradingData) items.get(i);
if (gradingData.getPublishedItemTextId().equals(itemText.getId()) ){
items.remove(i);
}
}
/*
//debugging purpose
Iterator iter = parent.getItemGradingDataArray().iterator();
while(iter.hasNext())
{
ItemGradingData gradingData = (ItemGradingData) iter.next();
System.out.print("\n kim debug: MatrixSurveyBean.java- traversing gradingData.ItemId:"+
gradingData.getPublishedItemId()+" ItemTextId:"+
gradingData.getPublishedItemTextId() +" AnswerId: "+ gradingData.getPublishedAnswerId()+"\n");
}
*/
// 2. add the new selection to the list
if (data ==null)
data = new ItemGradingData();
data.setPublishedItemId(parent.getItemData().getItemId());
data.setPublishedItemTextId(itemText.getId());
data.setPublishedAnswerId(new Long(newresp));
//System.out.print("\n matrixSurveyBean.java: after setting the data>>ItemId>>itemTextId+newresp "+ data.getPublishedItemId()+data.getPublishedItemTextId()+data.getPublishedAnswerId()+"\n");
items = parent.getItemGradingDataArray();
items.add(data);
parent.setItemGradingDataArray(items);
//debugging purpose
/*
iter = parent.getItemGradingDataArray().iterator();
while(iter.hasNext())
{
ItemGradingData gradingData = (ItemGradingData) iter.next();
System.out.print("\n kim debug2: ItemGradingDataArray: gradingData.ItemId: " + gradingData.getPublishedItemId());
System.out.print("\n kim debug2: ItemGradingDataArray: gradingData.ItemTextId: " + gradingData.getPublishedItemTextId());
System.out.print("\n kim debug2: ItemGradingDataArray: gradingData.AnswerId: " + gradingData.getPublishedAnswerId());
}
*/
}
}
public void setResponseFromCleanRadioButton() {
response = false;
data = null;
}
public boolean getResponse()
{
return response;
}
public void setResponse(boolean newresp)
{
response = newresp;
}
}