/* * * Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved. * * This file is part of Entando Enterprise Edition software. * You can redistribute it and/or modify it * under the terms of the Entando's EULA * * See the file License for the specific language governing permissions * and limitations under the License * * * * Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved. * */ package org.entando.entando.plugins.jpwebdynamicform.aps.system.services.api.model; import java.util.Date; import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlSeeAlso; import com.agiletec.aps.system.common.entity.model.IApsEntity; import com.agiletec.aps.system.common.entity.model.JAXBEntity; import com.agiletec.aps.system.services.category.ICategoryManager; import com.agiletec.plugins.jpwebdynamicform.aps.system.services.message.model.Answer; import com.agiletec.plugins.jpwebdynamicform.aps.system.services.message.model.Message; /** * @author E.Santoboni */ @XmlRootElement(name = "message") @XmlType(propOrder = {"creationDate", "langCode", "username", "answers"}) @XmlSeeAlso({JAXBAnswer.class}) public class JAXBMessage extends JAXBEntity { public JAXBMessage() {} public JAXBMessage(IApsEntity mainEntity, String langCode) { super(mainEntity, langCode); Message message = (Message) mainEntity; this.setCreationDate(message.getCreationDate()); this.setLangCode(message.getLangCode()); this.setUsername(message.getUsername()); } public IApsEntity buildEntity(IApsEntity prototype, ICategoryManager categoryManager) { Message message = (Message) super.buildEntity(prototype, categoryManager); //this.setCreationDate(message.getCreationDate()); message.setLangCode(this.getLangCode()); message.setUsername(this.getUsername()); return message; } @XmlElement(name = "username", required = false) public String getUsername() { return _username; } public void setUsername(String username) { this._username = username; } @XmlElement(name = "creationDate", required = false) public Date getCreationDate() { return _creationDate; } public void setCreationDate(Date creationDate) { this._creationDate = creationDate; } @XmlElement(name = "langCode", required = false) public String getLangCode() { return _langCode; } public void setLangCode(String langCode) { this._langCode = langCode; } @XmlElement(name = "answer", required = false) @XmlElementWrapper(name = "answers", required = false) public List<JAXBAnswer> getAnswers() { return this._answers; } public void addAnswers(List<Answer> mainAnswers) { if (null == mainAnswers || mainAnswers.isEmpty()) { return; } this._answers = new ArrayList<JAXBAnswer>(); for (int i = 0; i < mainAnswers.size(); i++) { Answer answer = mainAnswers.get(i); JAXBAnswer jaxbAnswer = new JAXBAnswer(answer); this._answers.add(jaxbAnswer); } } private String _username; private Date _creationDate; private String _langCode; private List<JAXBAnswer> _answers; }