CPD Results

The following document contains the results of PMD's CPD 3.9.

Duplications

FileLine
org/codehaus/mojo/ruby/extractor/RDocExtractor.java27
org/codehaus/mojo/ruby/extractor/RubyExtractor.java31
    extends AbstractScriptedMojoDescriptorExtractor
{
    protected List extractMojoDescriptors( Map scriptFilesKeyedByBasedir, PluginDescriptor pluginDescriptor )
        throws ExtractionException, InvalidPluginDescriptorException
    {
        List descriptors = new ArrayList();

        for ( Iterator mapIterator = scriptFilesKeyedByBasedir.entrySet().iterator(); mapIterator.hasNext(); )
        {
            Map.Entry entry = (Map.Entry) mapIterator.next();

            String basedir = (String) entry.getKey();
            Set metadataFiles = (Set) entry.getValue();

            for ( Iterator it = metadataFiles.iterator(); it.hasNext(); )
            {
                File scriptFile = (File) it.next();

                String relativePath = null;

                if ( basedir.endsWith( "/" ) )
                {
                    basedir = basedir.substring( 0, basedir.length() - 2 );
                }

                relativePath = scriptFile.getPath().substring( basedir.length() );

                relativePath = relativePath.replace( '\\', '/' );

                MojoDescriptor mojoDescriptor = createMojoDescriptor( basedir, relativePath, pluginDescriptor );

FileLine
org/codehaus/mojo/ruby/extractor/RDocExtractor.java276
org/codehaus/mojo/ruby/extractor/RubyExtractor.java168
        param.setExpression( getParameter( runtime, field, "expression" ) );

        mojoDescriptor.addParameter( param );
    }

    protected String getScriptFileExtension()
    {
        return "rb";
    }

    /**
     * Outputs Strings as info or error to the mojo's log.
     * 
     * @param out 
     * @param error true if error
     */
    private void logOutput(  String output, boolean error )
    {
        if ( output != null && output.length() > 0 )
        {
            for ( StringTokenizer tokens = new StringTokenizer( output, "\n" ); tokens.hasMoreTokens(); )
            {
                if ( error )
                {
                    getLogger().error( tokens.nextToken() );
                }
                else
                {
                    getLogger().info( tokens.nextToken() );
                }
            }
        }
    }
}