/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/polls/trunk/api/src/java/org/sakaiproject/poll/util/PollUtil.java $ * $Id: PollUtil.java 106558 2012-04-05 08:33:18Z david.horwitz@uct.ac.za $ *********************************************************************************** * * Copyright (c) 2006, 2007 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.poll.util; import java.util.Stack; import org.sakaiproject.poll.model.Option; import org.w3c.dom.Document; import org.w3c.dom.Element; public class PollUtil { /** Attribute names **/ private static final String UUID = "id"; private static final String OPTION_ID = "optionid"; private static final String TEXT = "title"; private static final String DELETED = "deleted"; public static Element optionToXml(Option option, Document doc, Stack<Element> stack) { Element element = doc.createElement("option"); if (stack.isEmpty()) { doc.appendChild(element); } else { ((Element) stack.peek()).appendChild(element); } stack.push(element); element.setAttribute("id", option.getUUId()); element.setAttribute("optionid", option.getOptionId().toString()); element.setAttribute("title", option.getOptionText()); element.setAttribute("deleted", option.getDeleted().toString()); stack.pop(); return element; } public static Option xmlToOption(Element element) { Option option = new Option(); option.setUUId(element.getAttribute(UUID)); if (!"".equals(element.getAttribute(OPTION_ID))) { try { option.setOptionId(Long.parseLong(element.getAttribute(OPTION_ID))); } catch (NumberFormatException e) { //LOG THIS } } option.setOptionText(element.getAttribute(TEXT)); option.setDeleted(Boolean.parseBoolean(element.getAttribute(DELETED))); return option; } }