/**
* 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.squalix.tools.cpd;
import java.util.Properties;
import org.squale.squalecommon.enterpriselayer.businessobject.component.parameters.ListParameterBO;
import org.squale.squalecommon.enterpriselayer.businessobject.component.parameters.MapParameterBO;
import net.sourceforge.pmd.cpd.Language;
import net.sourceforge.pmd.cpd.LanguageFactory;
/**
* D�tection de copier/coller en C++
*/
public class CppCpdProcessing
extends AbstractCpdProcessing
{
/** Seuil de d�tection de copier/coller */
private static final int CPP_THRESHOLD = 100;
/**
* {@inheritDoc}
*
* @see org.squale.squalix.tools.cpd.AbstractCpdTask#getLanguage()
*/
protected Language getLanguage()
{
LanguageFactory lf = new LanguageFactory();
Properties p = new Properties();
p.setProperty( "ignore_literals", "false" );
return lf.createLanguage( LanguageFactory.CPP_KEY, p );
}
/**
* {@inheritDoc}
*
* @see org.squale.squalix.tools.cpd.AbstractCpdTask#getTokenThreshold()
*/
protected int getTokenThreshold()
{
return CPP_THRESHOLD;
}
/**
* {@inheritDoc}
*
* @see org.squale.squalix.tools.cpd.AbstractCpdProcessing#getExtension()
*/
protected String[] getExtensions()
{
return new String[] { ".h", ".c", ".cc", ".cpp", ".cxx" };
}
/**
* Obtention des r�pertoires exclus de la compilation
*
* @param pProjectParams param�tres du projet
* @return r�pertories exclus sous la forme de ListParameterBO(StringParameterBO)
*/
protected ListParameterBO getExcludedDirs( MapParameterBO pProjectParams )
{
// Il n'y a pas de r�pertoires exclus en C++
return null;
}
}