/******************************************************************************* * Copyright (c) 2016 BREDEX GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * BREDEX GmbH - initial API and implementation and/or initial documentation *******************************************************************************/ package org.eclipse.jubula.client.archive.dto; import java.util.ArrayList; import java.util.List; import org.eclipse.jubula.client.core.model.IProjectPO; import org.eclipse.jubula.client.core.model.ProjectVersion; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; /** * @author BREDEX GmbH */ public class ProjectDTO extends NodeDTO { /** */ private List<TestDataCategoryDTO> m_testDataCategories = new ArrayList<TestDataCategoryDTO>(); /** */ private List<NamedTestDataDTO> m_namedTestDatas = new ArrayList<NamedTestDataDTO>(); /** */ private List<AutDTO> m_auts = new ArrayList<AutDTO>(); /** */ private List<NodeDTO> m_categories = new ArrayList<NodeDTO>(); /** */ private List<NodeDTO> m_execCategories = new ArrayList<NodeDTO>(); /** */ private Integer m_majorProjectVersion, m_minorProjectVersion, m_trackingSpan, m_microProjectVersion, m_metaDataVersion, m_testResultDetailsCleanupInterval; /** */ private boolean m_isReusable = false; /** */ private boolean m_isProtected = false; /** */ private List<ReusedProjectDTO> m_reusedProjects = new ArrayList<ReusedProjectDTO>(); /** */ private List<UsedToolkitDTO> m_usedToolkits = new ArrayList<UsedToolkitDTO>(); /** */ private List<ComponentNameDTO> m_componentNames = new ArrayList<ComponentNameDTO>(); /** */ private List<TestresultSummaryDTO> m_testresultSummaries = new ArrayList<TestresultSummaryDTO>(); /** */ private List<CheckConfigurationDTO> m_checkConfigurations = new ArrayList<CheckConfigurationDTO>(); /** */ private boolean m_teststyleEnabled = false; /** */ private boolean m_isReportOnSuccess = false; /** */ private boolean m_isReportOnFailure = false; /** */ private boolean m_trackingEnabled = false; /** */ private String m_almRepositoryName, m_dashboardURL, m_trackingAttribute, m_trackingUnit, m_markupLanguage, m_projectVersionQualifier, m_autToolKit; /** */ private List<ReportingRuleDTO> m_reportingRules = new ArrayList<ReportingRuleDTO>(); /** needed because JSON mapping */ public ProjectDTO() { } /** * @param project */ public ProjectDTO(IProjectPO project) { super(project); } /** * @return testDataCategories */ @JsonProperty("testDataCategories") public List<TestDataCategoryDTO> getTestDataCategories() { return m_testDataCategories; } /** * @param testDataCategorie */ public void addTestDataCategorie(TestDataCategoryDTO testDataCategorie) { this.m_testDataCategories.add(testDataCategorie); } /** * @return namedTestDatas */ @JsonProperty("namedTestDatas") public List<NamedTestDataDTO> getNamedTestDatas() { return m_namedTestDatas; } /** * @param namedTestData */ public void addNamedTestData(NamedTestDataDTO namedTestData) { this.m_namedTestDatas.add(namedTestData); } /** * @return auts */ @JsonProperty("auts") public List<AutDTO> getAuts() { return m_auts; } /** * @param aut */ public void addAut(AutDTO aut) { this.m_auts.add(aut); } /** * @return categories */ @JsonProperty("categories") public List<NodeDTO> getCategories() { return m_categories; } /** * @param node */ public void addCategory(NodeDTO node) { if (!(node instanceof TestCaseDTO || node instanceof CategoryDTO)) { throw new IllegalArgumentException(); } this.m_categories.add(node); } /** * @return execCategories */ @JsonProperty("execCategories") public List<NodeDTO> getExecCategories() { return m_execCategories; } /** * @param node */ public void addExecCategorie(NodeDTO node) { if (!(node instanceof TestSuiteDTO || node instanceof TestJobDTO || node instanceof ExecCategoryDTO)) { throw new IllegalArgumentException(); } this.m_execCategories.add(node); } /** * @return the version of project */ @JsonIgnore public ProjectVersion getProjectVersion() { return new ProjectVersion(m_majorProjectVersion, m_minorProjectVersion, m_microProjectVersion); } /** * @return metaDataVersion */ @JsonProperty("metaDataVersion") public Integer getMetaDataVersion() { return m_metaDataVersion; } /** * @param metaDataVersion */ public void setMetaDataVersion(Integer metaDataVersion) { this.m_metaDataVersion = metaDataVersion; } /** * @return microProjectVersion */ @JsonProperty("microProjectVersion") public Integer getMicroProjectVersion() { return m_microProjectVersion; } /** * @param microProjectVersion */ public void setMicroProjectVersion(Integer microProjectVersion) { this.m_microProjectVersion = microProjectVersion; } /** * @return majorProjectVersion */ @JsonProperty("majorProjectVersion") public Integer getMajorProjectVersion() { return m_majorProjectVersion; } /** * @param majorProjectVersion */ public void setMajorProjectVersion(Integer majorProjectVersion) { this.m_majorProjectVersion = majorProjectVersion; } /** * @return minorProjectVersion */ @JsonProperty("minorProjectVersion") public Integer getMinorProjectVersion() { return m_minorProjectVersion; } /** * @param minorProjectVersion */ public void setMinorProjectVersion(Integer minorProjectVersion) { this.m_minorProjectVersion = minorProjectVersion; } /** * @return trackingSpan */ @JsonProperty("trackingSpan") public Integer getTrackingSpan() { return m_trackingSpan; } /** * @param trackingSpan */ public void setTrackingSpan(Integer trackingSpan) { this.m_trackingSpan = trackingSpan; } /** * @return testResultDetailsCleanupInterval */ @JsonProperty("testResultDetailsCleanupInterval") public Integer getTestResultDetailsCleanupInterval() { return m_testResultDetailsCleanupInterval; } /** * @param testResultDetailsCleanupInterval */ public void setTestResultDetailsCleanupInterval( Integer testResultDetailsCleanupInterval) { this.m_testResultDetailsCleanupInterval = testResultDetailsCleanupInterval; } /** * @return isReusable */ @JsonProperty("isReusable") public boolean isReusable() { return m_isReusable; } /** * @param isReusable */ public void setReusable(boolean isReusable) { this.m_isReusable = isReusable; } /** * @return isProtected */ @JsonProperty("isProtected") public boolean isProtected() { return m_isProtected; } /** * @param isProtected */ public void setProtected(boolean isProtected) { this.m_isProtected = isProtected; } /** * @return reusedProjects */ @JsonProperty("reusedProjects") public List<ReusedProjectDTO> getReusedProjects() { return m_reusedProjects; } /** * @param reusedProject */ public void addReusedProject(ReusedProjectDTO reusedProject) { this.m_reusedProjects.add(reusedProject); } /** * @return usedToolkits */ @JsonProperty("usedToolkits") public List<UsedToolkitDTO> getUsedToolkits() { return m_usedToolkits; } /** * @param usedToolkit */ public void addUsedToolkit(UsedToolkitDTO usedToolkit) { this.m_usedToolkits.add(usedToolkit); } /** * @return componentNames */ @JsonProperty("componentNames") public List<ComponentNameDTO> getComponentNames() { return m_componentNames; } /** * @param componentName */ public void addComponentName(ComponentNameDTO componentName) { this.m_componentNames.add(componentName); } /** * @return testresultSummaries */ @JsonProperty("testresultSummaries") public List<TestresultSummaryDTO> getTestresultSummaries() { return m_testresultSummaries; } /** * @param testresultSummary */ public void addTestresultSummary(TestresultSummaryDTO testresultSummary) { this.m_testresultSummaries.add(testresultSummary); } /** * @param testresultSummaries */ public void setTestresultSummaries( List<TestresultSummaryDTO> testresultSummaries) { this.m_testresultSummaries = testresultSummaries; } /** * @return checkConfigurations */ @JsonProperty("checkConfigurations") public List<CheckConfigurationDTO> getCheckConfigurations() { return m_checkConfigurations; } /** * @param checkConfiguration */ public void addCheckConfiguration( CheckConfigurationDTO checkConfiguration) { this.m_checkConfigurations.add(checkConfiguration); } /** * @return teststyleEnabled */ @JsonProperty("teststyleEnabled") public boolean isTeststyleEnabled() { return m_teststyleEnabled; } /** * @param teststyleEnabled */ public void setTeststyleEnabled(boolean teststyleEnabled) { this.m_teststyleEnabled = teststyleEnabled; } /** * @return isReportOnSuccess */ @JsonProperty("isReportOnSuccess") public boolean isReportOnSuccess() { return m_isReportOnSuccess; } /** * @param isReportOnSuccess */ public void setReportOnSuccess(boolean isReportOnSuccess) { this.m_isReportOnSuccess = isReportOnSuccess; } /** * @return isReportOnFailure */ @JsonProperty("isReportOnFailure") public boolean isReportOnFailure() { return m_isReportOnFailure; } /** * @param isReportOnFailure */ public void setReportOnFailure(boolean isReportOnFailure) { this.m_isReportOnFailure = isReportOnFailure; } /** * @return trackingEnabled */ @JsonProperty("trackingEnabled") public boolean isTrackingEnabled() { return m_trackingEnabled; } /** * @param trackingEnabled */ public void setTrackingEnabled(boolean trackingEnabled) { this.m_trackingEnabled = trackingEnabled; } /** * @return almRepositoryName */ @JsonProperty("almRepositoryName") public String getAlmRepositoryName() { return m_almRepositoryName; } /** * @param almRepositoryName */ public void setAlmRepositoryName(String almRepositoryName) { this.m_almRepositoryName = almRepositoryName; } /** * @return dashboardURL */ @JsonProperty("dashboardURL") public String getDashboardURL() { return m_dashboardURL; } /** * @param dashboardURL */ public void setDashboardURL(String dashboardURL) { this.m_dashboardURL = dashboardURL; } /** * @return trackingAttribute */ @JsonProperty("trackingAttribute") public String getTrackingAttribute() { return m_trackingAttribute; } /** * @param trackingAttribute */ public void setTrackingAttribute(String trackingAttribute) { this.m_trackingAttribute = trackingAttribute; } /** * @return trackingUnit */ @JsonProperty("trackingUnit") public String getTrackingUnit() { return m_trackingUnit; } /** * @param trackingUnit */ public void setTrackingUnit(String trackingUnit) { this.m_trackingUnit = trackingUnit; } /** * @return markupLanguage */ @JsonProperty("markupLanguage") public String getMarkupLanguage() { return m_markupLanguage; } /** * @param markupLanguage */ public void setMarkupLanguage(String markupLanguage) { this.m_markupLanguage = markupLanguage; } /** * @return projectVersionQualifier */ @JsonProperty("projectVersionQualifier") public String getProjectVersionQualifier() { return m_projectVersionQualifier; } /** * @param projectVersionQualifier */ public void setProjectVersionQualifier(String projectVersionQualifier) { this.m_projectVersionQualifier = projectVersionQualifier; } /** * @return autToolKit */ @JsonProperty("autToolKit") public String getAutToolKit() { return m_autToolKit; } /** * @param autToolKit */ public void setAutToolKit(String autToolKit) { this.m_autToolKit = autToolKit; } /** * @return reportingRules */ @JsonProperty("reportingRules") public List<ReportingRuleDTO> getReportingRules() { return m_reportingRules; } /** * @param reportingRule */ public void addReportingRule(ReportingRuleDTO reportingRule) { this.m_reportingRules.add(reportingRule); } }