From f2f189dc51e0c407213176db233eb2292e0b131d Mon Sep 17 00:00:00 2001 From: David McKnight Date: Wed, 24 May 2006 18:51:23 +0000 Subject: [PATCH] applying patch provided by Michael Berger for: defect 141813 --- .../miners/filesystem/FileClassifier.java | 21 +++++++++++++++---- .../filesystem/UniversalFileSystemMiner.java | 3 ++- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/FileClassifier.java b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/FileClassifier.java index 29d3bd076e0..ad5a2f84dfd 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/FileClassifier.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/FileClassifier.java @@ -107,6 +107,8 @@ public class FileClassifier extends Thread private List _fileMap; private boolean _classifyChildren = true; + + private boolean _classifyFilter = false; private boolean _canResolveLinks = false; @@ -159,6 +161,8 @@ public class FileClassifier extends Thread { _classifyVirtual = false; } + + _classifyFilter = objType.equals(IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR); // if the subject is a file or a virtual file (i.e. not a directory or // an archive), then @@ -251,10 +255,19 @@ public class FileClassifier extends Thread return; // get full path - StringBuffer fPathBuf = new StringBuffer(_subject.getValue()); - fPathBuf.append(File.separatorChar); - fPathBuf.append(_subject.getName()); - String filePath = fPathBuf.toString(); + String filePath = null; + if (!_classifyFilter) + { + StringBuffer fPathBuf = new StringBuffer(_subject.getValue()); + fPathBuf.append(File.separatorChar); + fPathBuf.append(_subject.getName()); + filePath = fPathBuf.toString(); + } + else + { + filePath = _subject.getValue(); + } + // if we have to classify children if (_classifyChildren) diff --git a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java index 63743255b20..60c716ebfef 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java @@ -797,7 +797,8 @@ public class UniversalFileSystemMiner extends Miner implements { createDataElement(_dataStore, subject, list, queryType, filter,inclusion); String folderProperties = setProperties(fileobj); - subject.setAttribute(DE.A_SOURCE, folderProperties); + if (subject.getSource() == null || subject.getSource().equals("")) + subject.setAttribute(DE.A_SOURCE, folderProperties); FileClassifier clsfy = getFileClassifier(subject); clsfy.start();