1
0
Fork 0
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:
David McKnight 2007-05-23 16:03:57 +00:00
parent 9e9213cb95
commit bcf9a1c7b8

View file

@ -641,9 +641,29 @@ public class UniversalFileSystemMiner extends Miner {
} }
if (fileobj != null) if (fileobj != null)
{
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
{
// query all files and folders for the filter // query all files and folders for the filter
internalQueryAll(subject, fileobj, queryType, filter, internalQueryAll(subject, fileobj, queryType, filter,
caseSensitive, IClientServerConstants.INCLUDE_ALL); 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$
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); internalQueryAll(subject, fileobj, queryType, filter, caseSensitive, IClientServerConstants.INCLUDE_FILES_ONLY);
}
_dataStore.refresh(subject); _dataStore.refresh(subject);
return statusDone(status); return statusDone(status);
} }
@ -901,7 +937,24 @@ 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$
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); internalQueryAll(subject, fileobj, queryType, filter, caseSensitive, IClientServerConstants.INCLUDE_FOLDERS_ONLY);
}
_dataStore.refresh(subject); _dataStore.refresh(subject);
return statusDone(status); return statusDone(status);