Lines 47-59
Link Here
|
47 |
import java.util.Map; |
47 |
import java.util.Map; |
48 |
import java.util.logging.Level; |
48 |
import java.util.logging.Level; |
49 |
import java.util.logging.Logger; |
49 |
import java.util.logging.Logger; |
|
|
50 |
import org.netbeans.api.annotations.common.CheckForNull; |
50 |
import org.netbeans.api.project.Project; |
51 |
import org.netbeans.api.project.Project; |
51 |
import org.netbeans.api.project.ProjectInformation; |
52 |
import org.netbeans.api.project.ProjectInformation; |
52 |
import org.netbeans.api.project.ProjectManager; |
53 |
import org.netbeans.api.project.ProjectManager; |
53 |
import org.netbeans.api.project.ProjectUtils; |
54 |
import org.netbeans.api.project.ProjectUtils; |
|
|
55 |
import org.netbeans.modules.web.common.spi.ProjectWebRootQuery; |
54 |
import org.netbeans.spi.project.support.ant.AntProjectHelper; |
56 |
import org.netbeans.spi.project.support.ant.AntProjectHelper; |
55 |
import org.netbeans.spi.project.support.ant.EditableProperties; |
57 |
import org.netbeans.spi.project.support.ant.EditableProperties; |
56 |
import org.netbeans.spi.queries.FileEncodingQueryImplementation; |
58 |
import org.netbeans.spi.queries.FileEncodingQueryImplementation; |
|
|
59 |
import org.openide.filesystems.FileObject; |
57 |
import org.openide.filesystems.FileUtil; |
60 |
import org.openide.filesystems.FileUtil; |
58 |
import org.openide.loaders.CreateFromTemplateAttributesProvider; |
61 |
import org.openide.loaders.CreateFromTemplateAttributesProvider; |
59 |
import org.openide.loaders.DataFolder; |
62 |
import org.openide.loaders.DataFolder; |
Lines 114-119
Link Here
|
114 |
} |
117 |
} |
115 |
try { |
118 |
try { |
116 |
Project prj = ProjectManager.getDefault().findProject(helper.getProjectDirectory()); |
119 |
Project prj = ProjectManager.getDefault().findProject(helper.getProjectDirectory()); |
|
|
120 |
assert prj != null : helper.getProjectDirectory(); |
117 |
ProjectInformation info = ProjectUtils.getInformation(prj); |
121 |
ProjectInformation info = ProjectUtils.getInformation(prj); |
118 |
if (info != null) { |
122 |
if (info != null) { |
119 |
String pname = info.getName(); |
123 |
String pname = info.getName(); |
Lines 125-130
Link Here
|
125 |
values.put("displayName", pdname);// NOI18N |
129 |
values.put("displayName", pdname);// NOI18N |
126 |
} |
130 |
} |
127 |
} |
131 |
} |
|
|
132 |
values.put("webRootPath", getWebRootPath(prj)); // NOI18N |
128 |
} catch (Exception ex) { |
133 |
} catch (Exception ex) { |
129 |
//not really important, just log. |
134 |
//not really important, just log. |
130 |
Logger.getLogger(TemplateAttributesProviderImpl.class.getName()).log(Level.FINE, "", ex); |
135 |
Logger.getLogger(TemplateAttributesProviderImpl.class.getName()).log(Level.FINE, "", ex); |
Lines 136-139
Link Here
|
136 |
return Collections.singletonMap("project", values); // NOI18N |
141 |
return Collections.singletonMap("project", values); // NOI18N |
137 |
} |
142 |
} |
138 |
} |
143 |
} |
|
|
144 |
|
145 |
@CheckForNull |
146 |
private static String getWebRootPath(Project project) { |
147 |
for (FileObject webRoot : ProjectWebRootQuery.getWebRoots(project)) { |
148 |
return FileUtil.getRelativePath(project.getProjectDirectory(), webRoot); |
149 |
} |
150 |
return null; |
151 |
} |
152 |
|
139 |
} |
153 |
} |