--- a/openide.loaders/src/org/openide/loaders/DataFolder.java +++ a/openide.loaders/src/org/openide/loaders/DataFolder.java @@ -71,6 +71,9 @@ * @author Jaroslav Tulach, Petr Hamernik */ public class DataFolder extends MultiDataObject implements DataObject.Container { + + private static final Logger DFLOG = Logger.getLogger(DataFolder.class.getName()); + /** generated Serialized Version UID */ static final long serialVersionUID = -8244904281845488751L; @@ -572,11 +575,26 @@ */ @Override protected DataObject handleCopy (DataFolder f) throws IOException { + if (DFLOG.isLoggable(Level.FINE)) { + DFLOG.log(Level.FINE, "hanldeCopy of {0} into: {1}", new Object[]{ + FileUtil.getFileDisplayName(getPrimaryFile()), + FileUtil.getFileDisplayName(f.getPrimaryFile())}); + } testNesting(this, f); - + if (DFLOG.isLoggable(Level.FINE)) { + final StringBuilder sb = new StringBuilder(); + final Enumeration logChildren = children(); + while (logChildren.hasMoreElements()) { + sb.append(FileUtil.getFileDisplayName(logChildren.nextElement().getPrimaryFile())); + sb.append(','); + } + DFLOG.log(Level.FINE, "Children to be copied: {0}", sb.substring(0, sb.length()-1).toString()); + } Enumeration en = children (); - DataObject newFolderDO = super.handleCopy (f); + if (DFLOG.isLoggable(Level.FINE)) { + DFLOG.log(Level.FINE, "Copying children into: {0}", FileUtil.getFileDisplayName(newFolderDO.getPrimaryFile())); + } DataFolder newFolderDF; if (newFolderDO instanceof DataFolder) { newFolderDF = (DataFolder) newFolderDO; @@ -596,6 +614,9 @@ DataObject obj = en.nextElement (); if (obj.isCopyAllowed()) { obj.copy(newFolderDF); + if (DFLOG.isLoggable(Level.FINE)) { + DFLOG.log(Level.FINE, "Copied file {0}", FileUtil.getFileDisplayName(obj.getPrimaryFile())); + } } else { // data object can not be copied, inform user DataObject.LOG.warning(