mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-28 19:35:36 +02:00
[187732] exists checking on query
This commit is contained in:
parent
9e9213cb95
commit
bcf9a1c7b8
1 changed files with 60 additions and 7 deletions
|
@ -641,9 +641,29 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fileobj != null)
|
if (fileobj != null)
|
||||||
// query all files and folders for the filter
|
{
|
||||||
internalQueryAll(subject, fileobj, queryType, filter,
|
if (!fileobj.exists())
|
||||||
caseSensitive, IClientServerConstants.INCLUDE_ALL);
|
{
|
||||||
|
subject.setAttribute(DE.A_TYPE, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR);
|
||||||
|
subject.setAttribute(DE.A_SOURCE, setProperties(fileobj));
|
||||||
|
status.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_DOES_NOT_EXIST);
|
||||||
|
|
||||||
|
if (subject.getNestedSize() > 0)
|
||||||
|
{
|
||||||
|
List children = subject.getNestedData();
|
||||||
|
for (int i = children.size() - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
_dataStore.deleteObject(subject, (DataElement)children.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// query all files and folders for the filter
|
||||||
|
internalQueryAll(subject, fileobj, queryType, filter,
|
||||||
|
caseSensitive, IClientServerConstants.INCLUDE_ALL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// refresh datastore
|
// refresh datastore
|
||||||
_dataStore.refresh(subject);
|
_dataStore.refresh(subject);
|
||||||
|
@ -861,8 +881,24 @@ private DataElement createDataElementFromLSString(DataElement subject,
|
||||||
"Invalid query type to handleQueryFiles", null); //$NON-NLS-1$
|
"Invalid query type to handleQueryFiles", null); //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
||||||
internalQueryAll(subject, fileobj, queryType, filter, caseSensitive, IClientServerConstants.INCLUDE_FILES_ONLY);
|
if (!fileobj.exists())
|
||||||
|
{
|
||||||
|
subject.setAttribute(DE.A_TYPE, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR);
|
||||||
|
subject.setAttribute(DE.A_SOURCE, setProperties(fileobj));
|
||||||
|
status.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_DOES_NOT_EXIST);
|
||||||
|
if (subject.getNestedSize() > 0)
|
||||||
|
{
|
||||||
|
List children = subject.getNestedData();
|
||||||
|
for (int i = children.size() - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
_dataStore.deleteObject(subject, (DataElement)children.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
internalQueryAll(subject, fileobj, queryType, filter, caseSensitive, IClientServerConstants.INCLUDE_FILES_ONLY);
|
||||||
|
}
|
||||||
_dataStore.refresh(subject);
|
_dataStore.refresh(subject);
|
||||||
return statusDone(status);
|
return statusDone(status);
|
||||||
}
|
}
|
||||||
|
@ -901,8 +937,25 @@ private DataElement createDataElementFromLSString(DataElement subject,
|
||||||
UniversalServerUtilities.logError(CLASSNAME,
|
UniversalServerUtilities.logError(CLASSNAME,
|
||||||
"Invalid query type to handleQueryFolders", null); //$NON-NLS-1$
|
"Invalid query type to handleQueryFolders", null); //$NON-NLS-1$
|
||||||
|
|
||||||
internalQueryAll(subject, fileobj, queryType, filter, caseSensitive, IClientServerConstants.INCLUDE_FOLDERS_ONLY);
|
if (!fileobj.exists())
|
||||||
|
{
|
||||||
|
subject.setAttribute(DE.A_TYPE, IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR);
|
||||||
|
subject.setAttribute(DE.A_SOURCE, setProperties(fileobj));
|
||||||
|
status.setAttribute(DE.A_SOURCE, IServiceConstants.FAILED_WITH_DOES_NOT_EXIST);
|
||||||
|
if (subject.getNestedSize() > 0)
|
||||||
|
{
|
||||||
|
List children = subject.getNestedData();
|
||||||
|
for (int i = children.size() - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
_dataStore.deleteObject(subject, (DataElement)children.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
internalQueryAll(subject, fileobj, queryType, filter, caseSensitive, IClientServerConstants.INCLUDE_FOLDERS_ONLY);
|
||||||
|
}
|
||||||
|
|
||||||
_dataStore.refresh(subject);
|
_dataStore.refresh(subject);
|
||||||
return statusDone(status);
|
return statusDone(status);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue