EMMA Coverage Report (generated Sun Sep 18 11:34:27 PHT 2011)
[all classes][org.apache.maven.continuum.utils]

COVERAGE SUMMARY FOR SOURCE FILE [DefaultWorkingDirectoryService.java]

nameclass, %method, %block, %line, %
DefaultWorkingDirectoryService.java100% (1/1)25%  (1/4)4%   (3/73)6%   (1/16)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class DefaultWorkingDirectoryService100% (1/1)25%  (1/4)4%   (3/73)6%   (1/16)
getConfigurationService (): ConfigurationService 0%   (0/1)0%   (0/3)0%   (0/1)
getWorkingDirectory (Project): File 0%   (0/1)0%   (0/63)0%   (0/12)
setConfigurationService (ConfigurationService): void 0%   (0/1)0%   (0/4)0%   (0/2)
DefaultWorkingDirectoryService (): void 100% (1/1)100% (3/3)100% (1/1)

1package org.apache.maven.continuum.utils;
2 
3/*
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements.  See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership.  The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License.  You may obtain a copy of the License at
11 *
12 *   http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied.  See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21 
22import org.apache.maven.continuum.configuration.ConfigurationService;
23import org.apache.maven.continuum.model.project.Project;
24import org.springframework.stereotype.Service;
25 
26import java.io.File;
27 
28import javax.annotation.Resource;
29 
30/**
31 * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
32 * @version $Id: DefaultWorkingDirectoryService.java 729932 2008-12-29 16:32:22Z evenisse $
33 */
34@Service("workingDirectoryService")
35public class DefaultWorkingDirectoryService
36    implements WorkingDirectoryService
37{
38    @Resource
39    private ConfigurationService configurationService;
40 
41    public void setConfigurationService( ConfigurationService configurationService )
42    {
43        this.configurationService = configurationService;
44    }
45 
46    public ConfigurationService getConfigurationService()
47    {
48        return configurationService;
49    }
50 
51    // ----------------------------------------------------------------------
52    // WorkingDirectoryService Implementation
53    // ----------------------------------------------------------------------
54 
55    public File getWorkingDirectory( Project project )
56    {
57//        TODO: Enable, this is what we really want
58//        ContinuumProjectGroup projectGroup = project.getProjectGroup();
59//
60//        return new File( projectGroup.getWorkingDirectory(),
61//                         project.getPath() );
62 
63        if ( project.getWorkingDirectory() == null )
64        {
65            project.setWorkingDirectory( Integer.toString( project.getId() ) );
66        }
67 
68        File workDir;
69        File projectWorkingDirectory = new File( project.getWorkingDirectory() );
70        if ( projectWorkingDirectory.isAbsolute() )
71        {
72            // clean the project working directory path if it's a subdirectory of the global working directory
73            if ( projectWorkingDirectory.getAbsolutePath().startsWith(
74                getConfigurationService().getWorkingDirectory().getAbsolutePath() ) )
75            {
76                String pwd = projectWorkingDirectory.getAbsolutePath().substring(
77                    getConfigurationService().getWorkingDirectory().getAbsolutePath().length() );
78                if ( pwd.startsWith( "/" ) || pwd.startsWith( "\\" ) )
79                {
80                    pwd = pwd.substring( 1 );
81                }
82                project.setWorkingDirectory( pwd );
83            }
84 
85            workDir = projectWorkingDirectory;
86        }
87        else
88        {
89            workDir = new File( getConfigurationService().getWorkingDirectory(), project.getWorkingDirectory() );
90        }
91        return workDir;
92    }
93}

[all classes][org.apache.maven.continuum.utils]
EMMA 2.0.5312 (C) Vladimir Roubtsov