Lines 245-246
Link Here
|
245 |
DataFolder folder = DataFolder.findFolder (getSystem ().getRoot()); |
|
|
246 |
|
Lines 248-249
Link Here
|
248 |
String f = packageName.replace ('.', '/'); |
246 |
return DataFolder.findFolder( |
249 |
folder = DataFolder.create (folder, f); |
247 |
convertPackageName(getSystem ().getRoot(), packageName, 0)); |
250 |
-- |
|
|
Lines 251-252
Link Here
|
251 |
|
249 |
return DataFolder.findFolder (getSystem ().getRoot()); |
252 |
return folder; |
250 |
} |
253 |
-- |
251 |
|
|
|
252 |
/** |
253 |
* Converts a file object and package name to a file object. If |
254 |
* the resulting file object does not exists it is created. |
255 |
* @param fo root folder (folder where we start |
256 |
* @param name name of the package |
257 |
* @param start index in the name string where the package name starts |
258 |
*/ |
259 |
private static FileObject convertPackageName(FileObject fo, String name, int start) throws IOException { |
260 |
if (start >= name.length()) { |
261 |
return null; |
262 |
} |
263 |
int index = name.indexOf('.', start); |
264 |
if (index == -1) { |
265 |
index = name.length(); |
266 |
} |
267 |
while (index != -1) { |
268 |
FileObject r = fo.getFileObject(name.substring(start, index)); |
269 |
if (r != null) { |
270 |
if (index == name.length()) { |
271 |
return r; |
272 |
} else { |
273 |
return convertPackageName(r, name, index+1); |
274 |
} |
275 |
} |
276 |
if (index != name.length()) { |
277 |
index = name.indexOf('.', index+1); |
278 |
if (index == -1) { |
279 |
index = name.length(); |
280 |
} |
281 |
} else { |
282 |
index = -1; |
283 |
} |
284 |
} |
285 |
return DataFolder.create( |
286 |
DataFolder.findFolder(fo), |
287 |
name.substring(start).replace('.', '/')).getPrimaryFile(); |
Line 263
Link Here
|
263 |
String newName = f.getPrimaryFile ().getPackageName('.'); |
298 |
String newName = f.getPrimaryFile ().getPackageNameExt('.', '.'); |
264 |
-- |
|
|