1 package org.apache.maven.continuum.utils;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import javax.annotation.Resource;
24
25 import org.apache.maven.continuum.configuration.ConfigurationService;
26 import org.apache.maven.continuum.model.project.Project;
27 import org.apache.maven.continuum.model.project.ProjectGroup;
28 import org.springframework.stereotype.Service;
29
30
31
32
33
34 @Service("workingDirectoryService#chrootJail")
35 public class ChrootJailWorkingDirectoryService
36 implements WorkingDirectoryService
37 {
38 @Resource
39 private ConfigurationService configurationService;
40
41
42
43
44 private File chrootJailDirectory;
45
46 public void setConfigurationService( ConfigurationService configurationService )
47 {
48 this.configurationService = configurationService;
49 }
50
51 public ConfigurationService getConfigurationService()
52 {
53 return configurationService;
54 }
55
56 public void setChrootJailDirectory( File chrootJailDirectory )
57 {
58 this.chrootJailDirectory = chrootJailDirectory;
59 }
60
61 public File getChrootJailDirectory()
62 {
63 return chrootJailDirectory;
64 }
65
66 public File getWorkingDirectory( Project project )
67 {
68 ProjectGroup projectGroup = project.getProjectGroup();
69
70 File f = new File( getChrootJailDirectory(), projectGroup.getGroupId() );
71 f = new File( f, getConfigurationService().getWorkingDirectory().getPath() );
72 return new File( f, Integer.toString( project.getId() ) );
73 }
74 }