/**
* 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;
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.transformer.component.parameters.GeneralParametersTransformer;
import org.squale.squaleweb.util.SqualeWebActionUtils;
/**
* Bean des param�tres g�n�raux
*/
public class GeneralParametersForm
extends AbstractParameterForm
{
/** Indication de la n�cessite des sources JSP */
private boolean mJspSourcesRequired;
/**
* Listes des chemins vers les src � auditer du projet
*/
private String[] mJspSources;
/**
* Listes des chemins vers les src � auditer du projet
*/
private String[] mSources;
/**
* Expressions r�guli�res � exclure de l'analyse
*/
private String[] mExcludePatterns;
/**
* Expressions r�guli�res � inclure de l'analyse
*/
private String[] mIncludePatterns;
/**
* Constructeur par d�faut
*/
public GeneralParametersForm()
{
mExcludePatterns = new String[0];
mIncludePatterns = new String[0];
mSources = new String[0];
mJspSources = new String[0];
}
/**
* Getter.
*
* @return emplacement des sources.
*/
public String[] getSources()
{
return mSources;
}
/**
* Setter.
*
* @param pSources emplacement des sources.
*/
public void setSources( String[] pSources )
{
mSources = pSources;
}
/**
* @return les expressions r�guli�res � exclure de l'analyse
*/
public String[] getExcludePatterns()
{
return mExcludePatterns;
}
/**
* @param pExcludePatterns les expressions r�guli�res � exclure de l'analyse
*/
public void setExcludePatterns( String[] pExcludePatterns )
{
mExcludePatterns = pExcludePatterns;
}
/**
* @return les expressions r�guli�res � inclure de l'analyse
*/
public String[] getIncludePatterns()
{
return mIncludePatterns;
}
/**
* @param pIncludePatterns les expressions r�guli�res � inclure de l'analyse
*/
public void setIncludePatterns( String[] pIncludePatterns )
{
mIncludePatterns = pIncludePatterns;
}
/**
* Getter.
*
* @return emplacement des sources.
*/
public String[] getJspSources()
{
return mJspSources;
}
/**
* Setter.
*
* @param pJspSources emplacement des sources.
*/
public void setJspSources( String[] pJspSources )
{
mJspSources = pJspSources;
}
/**
* @return true si les sources JSP sont requises
*/
public boolean isJspSourcesRequired()
{
return mJspSourcesRequired;
}
/**
* @param pJspSourcesRequired indicateur de sources JSP requises
*/
public void setJspSourcesRequired( boolean pJspSourcesRequired )
{
mJspSourcesRequired = pJspSourcesRequired;
}
/**
* @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getTransformer()
* {@inheritDoc}
*/
public Class getTransformer()
{
return GeneralParametersTransformer.class;
}
/**
* @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getNameInSession()
* {@inheritDoc}
*/
public String getNameInSession()
{
return "generalParametersForm";
}
/**
* @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getParametersConstants()
* {@inheritDoc}
*/
public String[] getParametersConstants()
{
return new String[] { ParametersConstants.SOURCES, ParametersConstants.EXCLUDED_PATTERNS,
ParametersConstants.INCLUDED_PATTERNS, ParametersConstants.JSP };
}
/**
* @see org.apache.struts.action.ActionForm#reset(org.apache.struts.action.ActionMapping,
* javax.servlet.http.HttpServletRequest) {@inheritDoc}
*/
public void reset( ActionMapping mapping, HttpServletRequest request )
{
setJspSourcesRequired( false );
setJspSources( new String[0] );
setExcludePatterns( new String[0] );
setIncludePatterns( new String[0] );
setSources( new String[0] );
}
/**
* @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#getTaskName()
* {@inheritDoc}
*/
public String getTaskName()
{
return "GeneralParameters";
}
/**
* @see org.squale.squaleweb.applicationlayer.formbean.component.parameters.AbstractParameterForm#validateConf(org.apache.struts.action.ActionMapping,
* javax.servlet.http.HttpServletRequest) {@inheritDoc}
*/
protected void validateConf( ActionMapping pMapping, HttpServletRequest pRequest )
{
// Traitement des sources
setSources( SqualeWebActionUtils.cleanValues( getSources() ) );
if ( getSources().length == 0 )
{
addError( "sources", new ActionError( "error.field.required" ) );
}
// V�rification des sources JSP si requis
if ( isJspSourcesRequired() )
{
setJspSources( SqualeWebActionUtils.cleanValues( getJspSources() ) );
if ( getJspSources().length == 0 )
{
addError( "jspSources", new ActionError( "error.field.required" ) );
}
}
// Traitement des exclusions
setExcludePatterns( SqualeWebActionUtils.cleanValues( getExcludePatterns() ) );
// Pas de nombre minimal pour les exclusions
// Traitement des inclusions
setIncludePatterns( SqualeWebActionUtils.cleanValues( getIncludePatterns() ) );
// Pas de nombre minimal pour les inclusions
}
}