/** * Copyright (C) 2008-2010, Squale Project - http://www.squale.org * * This file is part of Squale. * * Squale is free software: you can redistribute it and/or modify * 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 any later version. * * Squale 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 General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with Squale. If not, see <http://www.gnu.org/licenses/>. */ package org.squale.squaleweb.applicationlayer.formbean.component.parameters.externalTask.qc; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionMapping; import org.squale.squalecommon.enterpriselayer.businessobject.component.parameters.ParametersConstants; import org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm; import org.squale.squaleweb.transformer.component.parameters.external.qc.TestManagerQCTransformer; /** * Bean for TestManagerQCTask */ public class TestManagerQCForm extends AbstractParameterForm { /* Default value */ /** covered requirements satus */ private static final String COVERED_REQ = "No Run"; /** opened requirements satus */ private static final String OPENED_REQ = "Failed,N/A,Not Completed,Not Covered"; /** to validate requirements satus */ private static final String TO_VALIDATE_REQ = "Passed"; /** passed step satus */ private static final String PASSED_STEP = "Passed"; /** ok run satus */ private static final String OK_RUN = "Passed"; /** closed defect satus */ private static final String CLOSED_DEFECT = "Closed,Fixed,Corrected,Clos,Rejet�"; /** Login */ private String mQCLogin = ""; /** Password */ private String mQCPassword = ""; /** URL */ private String mQCUrl = ""; /** Database name */ private String mDataBaseName = ""; /** Admin database name */ private String mAdminDataBaseName = ""; /** Prefix database name */ private String mPrefixDataBaseName = ""; /** List of status for covered requirements */ private String mQCCoveredReqStatus = COVERED_REQ; /** List of status for opened requirements */ private String mQCOpenedReqStatus = OPENED_REQ; /** List of status for requirements to validate */ private String mQCToValidateReqStatus = TO_VALIDATE_REQ; /** List of status for passed steps */ private String mQCPassedStepStatus = PASSED_STEP; /** List of status for ok run */ private String mQCOkRunStatus = OK_RUN; /** List of status for closed defects */ private String mQCClosedDefectStatus = CLOSED_DEFECT; /** Date of previous version */ private Date previousRelease; /** Date of next version */ private Date nextRelease; /** included requirements */ private String mQCIncludedReq = ""; /** included test plan */ private String mQCIncludedTestPlan = ""; /** included test lab */ private String mQCIncludedTestLab = ""; /** * {@inheritdoc} * * @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getTransformer() */ public Class getTransformer() { return TestManagerQCTransformer.class; } /** * {@inheritdoc} * * @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getParametersConstants() */ public String[] getParametersConstants() { return new String[] { ParametersConstants.QC }; } /** * {@inheritdoc} * * @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getNameInSession() */ public String getNameInSession() { return "testManagerQCForm"; } /** * {@inheritdoc} * * @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getTaskName() */ public String getTaskName() { return "TestManagerQCTask"; } /** * {@inheritdoc} * * @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#validateConf(org.apache.struts.action.ActionMapping, * javax.servlet.http.HttpServletRequest) */ protected void validateConf( ActionMapping pMapping, HttpServletRequest pRequest ) { // Database info setQCLogin( getQCLogin().trim() ); if ( getQCLogin().length() == 0 ) { addError( "QCLogin", new ActionError( "project_creation.QC.testmanager.error.login" ) ); } setQCPassword( getQCPassword().trim() ); if ( getQCPassword().length() == 0 ) { addError( "QCPassword", new ActionError( "project_creation.QC.testmanager.error.pwd" ) ); } setQCUrl( getQCUrl().trim() ); if ( getQCUrl().length() == 0 ) { addError( "QCUrl", new ActionError( "project_creation.QC.testmanager.error.url" ) ); } setDataBaseName( getDataBaseName().trim() ); if ( getDataBaseName().length() == 0 ) { addError( "dataBaseName", new ActionError( "project_creation.QC.testmanager.error.databaseName" ) ); } setAdminDataBaseName( getAdminDataBaseName().trim() ); if ( getAdminDataBaseName().length() == 0 ) { addError( "adminDataBaseName", new ActionError( "project_creation.QC.testmanager.error.adminDatabaseName" ) ); } setPrefixDataBaseName( getPrefixDataBaseName().trim() ); if ( getPrefixDataBaseName().length() == 0 ) { addError( "prefixDataBaseName", new ActionError( "project_creation.QC.testmanager.error.prefixDatabaseName" ) ); } // List of status validateListOfStatus( pMapping, pRequest ); } /** * Validate mandatory list of status * * @param pMapping mapping * @param pRequest request */ private void validateListOfStatus( ActionMapping pMapping, HttpServletRequest pRequest ) { setQCClosedDefectStatus( getQCClosedDefectStatus().trim() ); if ( getQCClosedDefectStatus().length() == 0 ) { addError( "QCClosedDefectStatus", new ActionError( "project_creation.QC.testmanager.error.closedDefects" ) ); } setQCCoveredReqStatus( getQCCoveredReqStatus().trim() ); if ( getQCCoveredReqStatus().length() == 0 ) { addError( "QCCoveredReqStatus", new ActionError( "project_creation.QC.testmanager.error.coveredReq" ) ); } setQCOkRunStatus( getQCOkRunStatus().trim() ); if ( getQCOkRunStatus().length() == 0 ) { addError( "QCOkRunStatus", new ActionError( "project_creation.QC.testmanager.error.okRun" ) ); } setQCOpenedReqStatus( getQCOpenedReqStatus().trim() ); if ( getQCOpenedReqStatus().length() == 0 ) { addError( "QCOpenedReqStatus", new ActionError( "project_creation.QC.testmanager.error.openedReq" ) ); } setQCPassedStepStatus( getQCPassedStepStatus().trim() ); if ( getQCPassedStepStatus().length() == 0 ) { addError( "QCPassedStepStatus", new ActionError( "project_creation.QC.testmanager.error.passedStep" ) ); } setQCToValidateReqStatus( getQCToValidateReqStatus().trim() ); if ( getQCToValidateReqStatus().length() == 0 ) { addError( "QCToValidateReqStatus", new ActionError( "project_creation.QC.testmanager.error.toValidateReq" ) ); } } /** * @return the database name */ public String getDataBaseName() { return mDataBaseName; } /** * @return the admin database name */ public String getAdminDataBaseName() { return mAdminDataBaseName; } /** * @return the prefix database name */ public String getPrefixDataBaseName() { return mPrefixDataBaseName; } /** * @return list of status for closed defects */ public String getQCClosedDefectStatus() { return mQCClosedDefectStatus; } /** * @return list of status for covered requirements */ public String getQCCoveredReqStatus() { return mQCCoveredReqStatus; } /** * @return login for database */ public String getQCLogin() { return mQCLogin; } /** * @return list of status for passed runs */ public String getQCOkRunStatus() { return mQCOkRunStatus; } /** * @return list of status for opened requirements */ public String getQCOpenedReqStatus() { return mQCOpenedReqStatus; } /** * @return list of status for passed steps */ public String getQCPassedStepStatus() { return mQCPassedStepStatus; } /** * @return password for database */ public String getQCPassword() { return mQCPassword; } /** * @return list of status for requirements to validate */ public String getQCToValidateReqStatus() { return mQCToValidateReqStatus; } /** * @return database url */ public String getQCUrl() { return mQCUrl; } /** * @return date of next release */ public Date getNextRelease() { return nextRelease; } /** * @return date of previous release */ public Date getPreviousRelease() { return previousRelease; } /** * @param pDataBaseName name of database */ public void setDataBaseName( String pDataBaseName ) { mDataBaseName = pDataBaseName; } /** * @param pAdminDataBaseName name of admin database */ public void setAdminDataBaseName( String pAdminDataBaseName ) { mAdminDataBaseName = pAdminDataBaseName; } /** * @param pPrefixDataBaseName name of prefix database */ public void setPrefixDataBaseName( String pPrefixDataBaseName ) { mPrefixDataBaseName = pPrefixDataBaseName; } /** * @param pQCClosedDefectStatus status for closed defects */ public void setQCClosedDefectStatus( String pQCClosedDefectStatus ) { mQCClosedDefectStatus = pQCClosedDefectStatus; } /** * @param pQCCoveredReqStatus status for covered requirements status */ public void setQCCoveredReqStatus( String pQCCoveredReqStatus ) { mQCCoveredReqStatus = pQCCoveredReqStatus; } /** * @param pLogin login */ public void setQCLogin( String pLogin ) { mQCLogin = pLogin; } /** * @param pQCOkRunStatus status for ok run */ public void setQCOkRunStatus( String pQCOkRunStatus ) { mQCOkRunStatus = pQCOkRunStatus; } /** * @param pQCOpenedReqStatus status for opened requirements */ public void setQCOpenedReqStatus( String pQCOpenedReqStatus ) { mQCOpenedReqStatus = pQCOpenedReqStatus; } /** * @param pQCPassedStepStatus status for passed step */ public void setQCPassedStepStatus( String pQCPassedStepStatus ) { mQCPassedStepStatus = pQCPassedStepStatus; } /** * @param pPassword password */ public void setQCPassword( String pPassword ) { mQCPassword = pPassword; } /** * @param pQCToValidateReqStatus status for validated requirements */ public void setQCToValidateReqStatus( String pQCToValidateReqStatus ) { mQCToValidateReqStatus = pQCToValidateReqStatus; } /** * @param pUrl database url */ public void setQCUrl( String pUrl ) { mQCUrl = pUrl; } /** * @param pNextDate date of next release */ public void setNextRelease( Date pNextDate ) { nextRelease = pNextDate; } /** * @param pPrevDate date of previous release */ public void setPreviousRelease( Date pPrevDate ) { previousRelease = pPrevDate; } /** * @return included requirements */ public String getQCIncludedReq() { return mQCIncludedReq; } /** * @return included TestLab */ public String getQCIncludedTestLab() { return mQCIncludedTestLab; } /** * @return included TestPlan */ public String getQCIncludedTestPlan() { return mQCIncludedTestPlan; } /** * @param pReqRoot included requirements */ public void setQCIncludedReq( String pReqRoot ) { mQCIncludedReq = pReqRoot; } /** * @param pTestLabRoot included TestLab */ public void setQCIncludedTestLab( String pTestLabRoot ) { mQCIncludedTestLab = pTestLabRoot; } /** * @param pTestPlan included TestPlan */ public void setQCIncludedTestPlan( String pTestPlan ) { mQCIncludedTestPlan = pTestPlan; } }