/** * TestCube is an enterprise Test management tool. * Copyright (C) 2011 JatakaSource Ltd. * * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * TestCube is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with TestCube. If not, see <http://www.gnu.org/licenses/>. */ package org.jatakasource.testcube.web.xml.testplan; import java.util.Date; import java.util.List; import org.apache.commons.lang.StringUtils; import org.jatakasource.testcube.model.product.ProductPojo; import org.jatakasource.testcube.model.product.VersionPojo; import org.jatakasource.testcube.model.testplan.ITestPlan; import org.jatakasource.testcube.model.testplan.PlanAttachmentPojo; import org.jatakasource.testcube.model.testplan.PlanTypePojo; import org.jatakasource.testcube.web.xml.NameDescriptionRendered; import org.jatakasource.testcube.web.xml.product.ProductRendered; import org.jatakasource.testcube.web.xml.product.VersionRendered; import org.simpleframework.xml.Attribute; import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Root(name = "TESTPLAN") public class TestPlanRendered extends NameDescriptionRendered<ITestPlan> { @Attribute(required = false) public Date getCreatedDate() { return getDelegated().getCreatedDate(); } @Attribute(required = false) public void setCreatedDate(Date createdDate) { getDelegated().setCreatedDate(createdDate); } @Element(name = "CREATED_BY", required = false) public String getCreatedBy() { return getDelegated().getCreatedBy() != null ? getDelegated().getCreatedBy().getUsername() : StringUtils.EMPTY; } @Element(name = "CREATED_BY", required = false) public void setCreatedBy(String createdBy) { // EMPTY XML method } @Element(name = "PRODUCT", required = true) public ProductRendered getProduct() { return new ProductRendered(getDelegated().getProduct()); } @Element(name = "PRODUCT", required = true) public void setProduct(ProductRendered product) { getDelegated().setProduct((ProductPojo) product.getDelegated()); } @Element(name = "PLAN_TYPE", required = true) public PlanTypeRendered getPlanType() { return new PlanTypeRendered(getDelegated().getPlanType()); } @Element(name = "PLAN_TYPE", required = true) public void setPlanType(PlanTypeRendered planType) { getDelegated().setPlanType((PlanTypePojo) planType.getDelegated()); } @Element(name = "PRODUCT_VERSION", required = true) public VersionRendered getProductVersion() { return new VersionRendered(getDelegated().getProductVersion()); } @Element(name = "PRODUCT_VERSION", required = true) public void setProductVersion(VersionRendered productVersion) { getDelegated().setProductVersion((VersionPojo) productVersion.getDelegated()); } public <T extends PlanAttachmentPojo> List<T> getAttachments() { return getDelegated().getAttachments(); } public <T extends PlanAttachmentPojo> void setAttachments(List<T> attachments) { getDelegated().setAttachments(attachments); } @Element(name = "DOCUMENT", required = false, data = false) public String getDocument() { return getDelegated().getDocument(); } @Element(name = "DOCUMENT", required = false, data = false) public void setDocument(String document) { getDelegated().setDocument(document); } }