mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-05 07:15:39 +02:00
[371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
This commit is contained in:
parent
0c82d76955
commit
8d2684b786
8 changed files with 100 additions and 94 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2002, 2011 IBM Corporation and others.
|
* Copyright (c) 2002, 2012 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -27,6 +27,7 @@
|
||||||
* Noriaki Takatsu (IBM) - [289678][api][breaking] ServerSocket creation in multiple IP addresses
|
* Noriaki Takatsu (IBM) - [289678][api][breaking] ServerSocket creation in multiple IP addresses
|
||||||
* David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support
|
* David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support
|
||||||
* David McKnight (IBM) - [368072] [dstore][ssl] no exception logged upon bind error
|
* David McKnight (IBM) - [368072] [dstore][ssl] no exception logged upon bind error
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.dstore.core.server;
|
package org.eclipse.dstore.core.server;
|
||||||
|
@ -76,7 +77,7 @@ public class ConnectionEstablisher
|
||||||
|
|
||||||
|
|
||||||
private ServerSocket _serverSocket;
|
private ServerSocket _serverSocket;
|
||||||
private static boolean _continue;
|
private boolean _continue;
|
||||||
|
|
||||||
private ArrayList _receivers;
|
private ArrayList _receivers;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2002, 2011 IBM Corporation and others.
|
* Copyright (c) 2002, 2012 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -18,6 +18,7 @@
|
||||||
* Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue
|
* Noriaki Takatsu (IBM) - [283656] [dstore][multithread] Serviceability issue
|
||||||
* David McKnight (IBM) - [294933] [dstore] RSE goes into loop
|
* David McKnight (IBM) - [294933] [dstore] RSE goes into loop
|
||||||
* David McKnight (IBM) - [282364] [dstore][multithread] timer-threads stay active after disconnect
|
* David McKnight (IBM) - [282364] [dstore][multithread] timer-threads stay active after disconnect
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.dstore.internal.core.server;
|
package org.eclipse.dstore.internal.core.server;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2002, 2010 IBM Corporation and others.
|
* Copyright (c) 2002, 2012 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
* David McKnight (IBM) - [261644] [dstore] remote search improvements
|
* David McKnight (IBM) - [261644] [dstore] remote search improvements
|
||||||
* David McKnight (IBM) - [294933] [dstore] RSE goes into loop
|
* David McKnight (IBM) - [294933] [dstore] RSE goes into loop
|
||||||
* David McKnight (IBM) - [331922] [dstore] enable DataElement recycling
|
* David McKnight (IBM) - [331922] [dstore] enable DataElement recycling
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.dstore.internal.core.util;
|
package org.eclipse.dstore.internal.core.util;
|
||||||
|
@ -53,7 +54,7 @@ public class DataElementRemover extends Handler
|
||||||
public DataElementRemover(DataStore dataStore)
|
public DataElementRemover(DataStore dataStore)
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
_memoryManager = MemoryManager.getInstance(dataStore);
|
_memoryManager = new MemoryManager(dataStore);
|
||||||
_dataStore = dataStore;
|
_dataStore = dataStore;
|
||||||
_queue = new LinkedList();
|
_queue = new LinkedList();
|
||||||
getTimes();
|
getTimes();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2009, 2011 IBM Corporation and others.
|
* Copyright (c) 2009, 2012 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -13,6 +13,7 @@
|
||||||
* David McKnight (IBM) - [261644] [dstore] remote search improvements
|
* David McKnight (IBM) - [261644] [dstore] remote search improvements
|
||||||
* David McKnight (IBM) - [277764] [dstore][regression] IllegalAccessException thrown when connecting to a running server
|
* David McKnight (IBM) - [277764] [dstore][regression] IllegalAccessException thrown when connecting to a running server
|
||||||
* David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support
|
* David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.dstore.internal.core.util;
|
package org.eclipse.dstore.internal.core.util;
|
||||||
|
@ -27,20 +28,13 @@ import org.eclipse.dstore.internal.core.model.IDataStoreSystemProperties;
|
||||||
|
|
||||||
public class MemoryManager {
|
public class MemoryManager {
|
||||||
private Object mbean;
|
private Object mbean;
|
||||||
private static MemoryManager _instance;
|
|
||||||
private DataStore _dataStore;
|
private DataStore _dataStore;
|
||||||
|
|
||||||
private MemoryManager(DataStore dataStore) {
|
public MemoryManager(DataStore dataStore) {
|
||||||
init();
|
init();
|
||||||
_dataStore = dataStore;
|
_dataStore = dataStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MemoryManager getInstance(DataStore dataStore){
|
|
||||||
if (_instance == null){
|
|
||||||
_instance = new MemoryManager(dataStore);
|
|
||||||
}
|
|
||||||
return _instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void init(){
|
private void init(){
|
||||||
String thresholdString = System.getProperty(IDataStoreSystemProperties.SEARCH_THRESHOLD);
|
String thresholdString = System.getProperty(IDataStoreSystemProperties.SEARCH_THRESHOLD);
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
* David McKnight (IBM) - [243495] [api] New: Allow file name search in Remote Search to not be case sensitive
|
* David McKnight (IBM) - [243495] [api] New: Allow file name search in Remote Search to not be case sensitive
|
||||||
* David McKnight (IBM) - [283617] [dstore] UniversalFileSystemMiner.handleQueryGetRemoteObject does not return correct result when the queried file does not exist.
|
* David McKnight (IBM) - [283617] [dstore] UniversalFileSystemMiner.handleQueryGetRemoteObject does not return correct result when the queried file does not exist.
|
||||||
* David McKnight (IBM) - [dstore] cancelable threads not removed fast enough from Hashmap, resulting in OOM
|
* David McKnight (IBM) - [dstore] cancelable threads not removed fast enough from Hashmap, resulting in OOM
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.dstore.universal.miners;
|
package org.eclipse.rse.dstore.universal.miners;
|
||||||
|
@ -111,6 +112,7 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
public static final String CLASSNAME = "UniversalFileSystemMiner"; //$NON-NLS-1$
|
public static final String CLASSNAME = "UniversalFileSystemMiner"; //$NON-NLS-1$
|
||||||
|
|
||||||
protected HashMap _cancellableThreads;
|
protected HashMap _cancellableThreads;
|
||||||
|
private FileDescriptors _fileDescriptors;
|
||||||
|
|
||||||
private static final int PERMISSION_OWNER = 0;
|
private static final int PERMISSION_OWNER = 0;
|
||||||
private static final int PERMISSION_GROUP = 1;
|
private static final int PERMISSION_GROUP = 1;
|
||||||
|
@ -128,6 +130,8 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
_archiveHandlerManager.setRegisteredHandler("tar.gz", SystemTgzHandler.class); //$NON-NLS-1$
|
_archiveHandlerManager.setRegisteredHandler("tar.gz", SystemTgzHandler.class); //$NON-NLS-1$
|
||||||
_archiveHandlerManager.setRegisteredHandler("tgz", SystemTgzHandler.class); //$NON-NLS-1$
|
_archiveHandlerManager.setRegisteredHandler("tgz", SystemTgzHandler.class); //$NON-NLS-1$
|
||||||
_archiveHandlerManager.setRegisteredHandler("tar", SystemTarHandler.class); //$NON-NLS-1$
|
_archiveHandlerManager.setRegisteredHandler("tar", SystemTarHandler.class); //$NON-NLS-1$
|
||||||
|
|
||||||
|
_fileDescriptors = new FileDescriptors();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -443,7 +447,7 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
int inclusion, DataElement status) {
|
int inclusion, DataElement status) {
|
||||||
|
|
||||||
// do query on a thread
|
// do query on a thread
|
||||||
FileQueryThread queryThread = new FileQueryThread(subject, fileobj, queryType, filter, caseSensitive, inclusion, showHidden, _isWindows, status);
|
FileQueryThread queryThread = new FileQueryThread(subject, fileobj, queryType, filter, caseSensitive, inclusion, showHidden, _isWindows, status, _fileDescriptors);
|
||||||
queryThread.start();
|
queryThread.start();
|
||||||
|
|
||||||
updateCancellableThreads(status.getParent(), queryThread);
|
updateCancellableThreads(status.getParent(), queryThread);
|
||||||
|
@ -1507,15 +1511,15 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
// Define filesystem descriptors
|
// Define filesystem descriptors
|
||||||
DataElement UniversalFilter = createObjectDescriptor(schemaRoot,
|
DataElement UniversalFilter = createObjectDescriptor(schemaRoot,
|
||||||
IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR);
|
IUniversalDataStoreConstants.UNIVERSAL_FILTER_DESCRIPTOR);
|
||||||
FileDescriptors._deUniversalFileObject = createObjectDescriptor(schemaRoot,
|
_fileDescriptors._deUniversalFileObject = createObjectDescriptor(schemaRoot,
|
||||||
IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR);
|
IUniversalDataStoreConstants.UNIVERSAL_FILE_DESCRIPTOR);
|
||||||
FileDescriptors._deUniversalFolderObject = createObjectDescriptor(schemaRoot,
|
_fileDescriptors._deUniversalFolderObject = createObjectDescriptor(schemaRoot,
|
||||||
IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR);
|
IUniversalDataStoreConstants.UNIVERSAL_FOLDER_DESCRIPTOR);
|
||||||
FileDescriptors._deUniversalArchiveFileObject = createObjectDescriptor(
|
_fileDescriptors._deUniversalArchiveFileObject = createObjectDescriptor(
|
||||||
schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR);
|
schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_ARCHIVE_FILE_DESCRIPTOR);
|
||||||
FileDescriptors._deUniversalVirtualFileObject = createObjectDescriptor(
|
_fileDescriptors._deUniversalVirtualFileObject = createObjectDescriptor(
|
||||||
schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR);
|
schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FILE_DESCRIPTOR);
|
||||||
FileDescriptors._deUniversalVirtualFolderObject = createObjectDescriptor(
|
_fileDescriptors._deUniversalVirtualFolderObject = createObjectDescriptor(
|
||||||
schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR);
|
schemaRoot, IUniversalDataStoreConstants.UNIVERSAL_VIRTUAL_FOLDER_DESCRIPTOR);
|
||||||
|
|
||||||
_dataStore.refresh(schemaRoot);
|
_dataStore.refresh(schemaRoot);
|
||||||
|
@ -1536,23 +1540,23 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
createCommandDescriptor(UniversalFilter, "Filter", IUniversalDataStoreConstants.C_QUERY_ROOTS); //$NON-NLS-1$
|
createCommandDescriptor(UniversalFilter, "Filter", IUniversalDataStoreConstants.C_QUERY_ROOTS); //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
||||||
DataElement queryAllDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$
|
DataElement queryAllDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, queryAllDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, queryAllDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
DataElement queryFilesDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$
|
DataElement queryFilesDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, queryFilesDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, queryFilesDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
DataElement queryFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$
|
DataElement queryFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, queryFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, queryFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
|
|
||||||
DataElement queryAllArchiveDescriptor = createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$
|
DataElement queryAllArchiveDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_ALL); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, queryAllArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, queryAllArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
DataElement queryFilesArchiveDescriptor = createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$
|
DataElement queryFilesArchiveDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FILES); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, queryFilesArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, queryFilesArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
DataElement queryFolderArchiveDescriptor = createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$
|
DataElement queryFolderArchiveDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "Filter", IUniversalDataStoreConstants.C_QUERY_VIEW_FOLDERS); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, queryFolderArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, queryFolderArchiveDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
createCommandDescriptor(UniversalFilter, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$
|
createCommandDescriptor(UniversalFilter, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$
|
||||||
|
@ -1565,90 +1569,90 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
createCommandDescriptor(UniversalFilter, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$
|
createCommandDescriptor(UniversalFilter, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
||||||
_dataStore.createReference(FileDescriptors._deUniversalFileObject,
|
_dataStore.createReference(_fileDescriptors._deUniversalFileObject,
|
||||||
FileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_fileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
_dataStore.createReference(FileDescriptors._deUniversalFolderObject,
|
_dataStore.createReference(_fileDescriptors._deUniversalFolderObject,
|
||||||
FileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_fileDescriptors._deUniversalArchiveFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
_dataStore.createReference(FileDescriptors._deUniversalFileObject,
|
_dataStore.createReference(_fileDescriptors._deUniversalFileObject,
|
||||||
FileDescriptors._deUniversalVirtualFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_fileDescriptors._deUniversalVirtualFileObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
_dataStore.createReference(FileDescriptors._deUniversalFolderObject,
|
_dataStore.createReference(_fileDescriptors._deUniversalFolderObject,
|
||||||
FileDescriptors._deUniversalVirtualFolderObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_fileDescriptors._deUniversalVirtualFolderObject, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
// create the search descriptor and make it cancelable
|
// create the search descriptor and make it cancelable
|
||||||
DataElement searchDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Search", IUniversalDataStoreConstants.C_SEARCH); //$NON-NLS-1$
|
DataElement searchDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Search", IUniversalDataStoreConstants.C_SEARCH); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, searchDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, searchDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
|
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$
|
||||||
createCommandDescriptor(tempnode, "Filter", IUniversalDataStoreConstants.C_CREATE_TEMP); //$NON-NLS-1$
|
createCommandDescriptor(tempnode, "Filter", IUniversalDataStoreConstants.C_CREATE_TEMP); //$NON-NLS-1$
|
||||||
//create deleteDescriptor and make it cancelable
|
//create deleteDescriptor and make it cancelable
|
||||||
DataElement deleteFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$
|
DataElement deleteFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, deleteFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, deleteFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create deleteBatchDescriptor and make it cancelable
|
//create deleteBatchDescriptor and make it cancelable
|
||||||
DataElement deleteBatchFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$
|
DataElement deleteBatchFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, deleteBatchFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, deleteBatchFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create createNewFileDescriptor and make it cancelable
|
//create createNewFileDescriptor and make it cancelable
|
||||||
DataElement createNewFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$
|
DataElement createNewFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, createNewFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, createNewFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create createNewFolderDescriptor and make it cancelable
|
//create createNewFolderDescriptor and make it cancelable
|
||||||
DataElement createNewFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$
|
DataElement createNewFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, createNewFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, createNewFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create renameDescriptor and make it cancelable
|
//create renameDescriptor and make it cancelable
|
||||||
DataElement renameFileDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFileObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$
|
DataElement renameFileDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, renameFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, renameFileDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetAdvanceProperty", IUniversalDataStoreConstants.C_QUERY_ADVANCE_PROPERTY); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$
|
||||||
|
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$
|
||||||
|
|
||||||
//create deleteDescriptor and make it cancelable
|
//create deleteDescriptor and make it cancelable
|
||||||
DataElement deleteFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$
|
DataElement deleteFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Delete", IUniversalDataStoreConstants.C_DELETE); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, deleteFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, deleteFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create deleteBatchDescriptor and make it cancelable
|
//create deleteBatchDescriptor and make it cancelable
|
||||||
DataElement deleteBatchFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$
|
DataElement deleteBatchFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "DeleteBatch", IUniversalDataStoreConstants.C_DELETE_BATCH); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, deleteBatchFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, deleteBatchFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create renameDescriptor and make it cancelable
|
//create renameDescriptor and make it cancelable
|
||||||
DataElement renameFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$
|
DataElement renameFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Rename", IUniversalDataStoreConstants.C_RENAME); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, renameFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, renameFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create copyDescriptor and make it cancelable
|
//create copyDescriptor and make it cancelable
|
||||||
DataElement copyFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Copy", IUniversalDataStoreConstants.C_COPY); //$NON-NLS-1$
|
DataElement copyFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Copy", IUniversalDataStoreConstants.C_COPY); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, copyFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, copyFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create copyFolderBatchDescriptor and make it cancelable
|
//create copyFolderBatchDescriptor and make it cancelable
|
||||||
DataElement copyBatchFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "CopyBatch", IUniversalDataStoreConstants.C_COPY_BATCH); //$NON-NLS-1$
|
DataElement copyBatchFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "CopyBatch", IUniversalDataStoreConstants.C_COPY_BATCH); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, copyBatchFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, copyBatchFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "SetReadOnly", IUniversalDataStoreConstants.C_SET_READONLY); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "SetLastModified", IUniversalDataStoreConstants.C_SET_LASTMODIFIED); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetBasicProperty", IUniversalDataStoreConstants.C_QUERY_BASIC_PROPERTY); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetcanWriteProperty", IUniversalDataStoreConstants.C_QUERY_CAN_WRITE_PROPERTY); //$NON-NLS-1$
|
||||||
|
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "Exists", IUniversalDataStoreConstants.C_QUERY_EXISTS); //$NON-NLS-1$
|
||||||
//create createFolderDescriptor and make it cancelable
|
//create createFolderDescriptor and make it cancelable
|
||||||
DataElement createNewFileInFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$
|
DataElement createNewFileInFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "CreateNewFile", IUniversalDataStoreConstants.C_CREATE_FILE); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, createNewFileInFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, createNewFileInFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
//create createFolderDescriptor and make it cancelable
|
//create createFolderDescriptor and make it cancelable
|
||||||
DataElement createNewFolderInFolderDescriptor = createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$
|
DataElement createNewFolderInFolderDescriptor = createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "CreateNewFolder", IUniversalDataStoreConstants.C_CREATE_FOLDER); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, createNewFolderInFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
_dataStore.createReference(cancellable, createNewFolderInFolderDescriptor, DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetOSType", IUniversalDataStoreConstants.C_GET_OSTYPE); //$NON-NLS-1$
|
||||||
//make sure C_QUERY_GET_REMOTE_OBJECT command also available for file and folder objects
|
//make sure C_QUERY_GET_REMOTE_OBJECT command also available for file and folder objects
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalVirtualFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalVirtualFileObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalVirtualFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalVirtualFolderObject, "GetRemoteObject", IUniversalDataStoreConstants.C_QUERY_GET_REMOTE_OBJECT); //$NON-NLS-1$
|
||||||
|
|
||||||
// create a download command descriptor and make it cancelable
|
// create a download command descriptor and make it cancelable
|
||||||
DataElement downloadDescriptor = createCommandDescriptor(
|
DataElement downloadDescriptor = createCommandDescriptor(
|
||||||
FileDescriptors._deUniversalFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$
|
_fileDescriptors._deUniversalFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, downloadDescriptor,
|
_dataStore.createReference(cancellable, downloadDescriptor,
|
||||||
DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
|
|
||||||
DataElement adownloadDescriptor = createCommandDescriptor(
|
DataElement adownloadDescriptor = createCommandDescriptor(
|
||||||
FileDescriptors._deUniversalArchiveFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$
|
_fileDescriptors._deUniversalArchiveFileObject, "DownloadFile", IUniversalDataStoreConstants.C_DOWNLOAD_FILE); //$NON-NLS-1$
|
||||||
_dataStore.createReference(cancellable, adownloadDescriptor,
|
_dataStore.createReference(cancellable, adownloadDescriptor,
|
||||||
DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
DataStoreResources.model_abstracts, DataStoreResources.model_abstracted_by);
|
||||||
|
|
||||||
|
@ -1658,10 +1662,10 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
createCommandDescriptor(tempnode, "UnusedPort", IUniversalDataStoreConstants.C_QUERY_UNUSED_PORT); //$NON-NLS-1$
|
createCommandDescriptor(tempnode, "UnusedPort", IUniversalDataStoreConstants.C_QUERY_UNUSED_PORT); //$NON-NLS-1$
|
||||||
|
|
||||||
// command descriptor to retrieve package name for a class file
|
// command descriptor to retrieve package name for a class file
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetQualifiedClassName", IUniversalDataStoreConstants.C_QUERY_CLASSNAME); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetQualifiedClassName", IUniversalDataStoreConstants.C_QUERY_CLASSNAME); //$NON-NLS-1$
|
||||||
|
|
||||||
// command descriptor to retrieve qualified class name for class file
|
// command descriptor to retrieve qualified class name for class file
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetFullClassName", //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetFullClassName", //$NON-NLS-1$
|
||||||
IUniversalDataStoreConstants.C_QUERY_QUALIFIED_CLASSNAME);
|
IUniversalDataStoreConstants.C_QUERY_QUALIFIED_CLASSNAME);
|
||||||
|
|
||||||
|
|
||||||
|
@ -1669,14 +1673,14 @@ public class UniversalFileSystemMiner extends Miner {
|
||||||
if (!_isWindows) {
|
if (!_isWindows) {
|
||||||
// descriptors for permissions
|
// descriptors for permissions
|
||||||
createCommandDescriptor(UniversalFilter, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(UniversalFilter, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "GetPermissions", IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "GetPermissions",IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "GetPermissions",IUniversalDataStoreConstants.C_QUERY_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
|
|
||||||
createCommandDescriptor(UniversalFilter, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(UniversalFilter, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFolderObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFolderObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalFileObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalFileObject, "SetPermissions", IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
createCommandDescriptor(FileDescriptors._deUniversalArchiveFileObject, "SetPermissions",IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
createCommandDescriptor(_fileDescriptors._deUniversalArchiveFileObject, "SetPermissions",IUniversalDataStoreConstants.C_SET_FILE_PERMISSIONS); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2007 IBM Corporation. All rights reserved.
|
* Copyright (c) 2007, 2012 IBM Corporation. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* This program and the accompanying materials are made available under the terms
|
||||||
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* {Name} (company) - description of contribution.
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
|
package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
|
||||||
|
|
||||||
|
@ -17,10 +18,10 @@ import org.eclipse.dstore.core.model.DataElement;
|
||||||
|
|
||||||
public class FileDescriptors
|
public class FileDescriptors
|
||||||
{
|
{
|
||||||
public static DataElement _deUniversalFileObject;
|
public DataElement _deUniversalFileObject;
|
||||||
public static DataElement _deUniversalFolderObject;
|
public DataElement _deUniversalFolderObject;
|
||||||
public static DataElement _deUniversalVirtualFileObject;
|
public DataElement _deUniversalVirtualFileObject;
|
||||||
public static DataElement _deUniversalVirtualFolderObject;
|
public DataElement _deUniversalVirtualFolderObject;
|
||||||
public static DataElement _deUniversalArchiveFileObject;
|
public DataElement _deUniversalArchiveFileObject;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007, 2008 IBM Corporation and others.
|
* Copyright (c) 2007, 2012 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
* David McKnight (IBM) - [251650] [dstore] Multiple copies of symbolic link file show in Table view
|
* David McKnight (IBM) - [251650] [dstore] Multiple copies of symbolic link file show in Table view
|
||||||
* David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder
|
* David McKnight (IBM) - [251729][dstore] problems querying symbolic link folder
|
||||||
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
|
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
|
package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
|
||||||
|
|
||||||
|
@ -44,14 +45,15 @@ public class FileQueryThread extends QueryThread
|
||||||
private int _inclusion;
|
private int _inclusion;
|
||||||
private boolean _showHidden;
|
private boolean _showHidden;
|
||||||
private boolean _isWindows;
|
private boolean _isWindows;
|
||||||
|
private FileDescriptors _fileDescriptors;
|
||||||
|
|
||||||
public FileQueryThread(
|
public FileQueryThread(
|
||||||
DataElement subject, File fileobj,
|
DataElement subject, File fileobj,
|
||||||
String queryType, String filter, boolean caseSensitive,
|
String queryType, String filter, boolean caseSensitive,
|
||||||
int inclusion,
|
int inclusion,
|
||||||
boolean showHidden, boolean isWindows,
|
boolean showHidden, boolean isWindows,
|
||||||
DataElement status)
|
DataElement status,
|
||||||
|
FileDescriptors fileDescriptors)
|
||||||
{
|
{
|
||||||
super(subject, status);
|
super(subject, status);
|
||||||
_fileobj = fileobj;
|
_fileobj = fileobj;
|
||||||
|
@ -61,6 +63,7 @@ public class FileQueryThread extends QueryThread
|
||||||
_inclusion = inclusion;
|
_inclusion = inclusion;
|
||||||
_showHidden = showHidden;
|
_showHidden = showHidden;
|
||||||
_isWindows = isWindows;
|
_isWindows = isWindows;
|
||||||
|
_fileDescriptors = fileDescriptors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -236,7 +239,7 @@ public class FileQueryThread extends QueryThread
|
||||||
{
|
{
|
||||||
if (file.isDirectory())
|
if (file.isDirectory())
|
||||||
{
|
{
|
||||||
deObj = ds.createObject(subject,FileDescriptors._deUniversalFolderObject,fileName);
|
deObj = ds.createObject(subject,_fileDescriptors._deUniversalFolderObject,fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
// file
|
// file
|
||||||
|
@ -246,13 +249,13 @@ public class FileQueryThread extends QueryThread
|
||||||
deObj = ds
|
deObj = ds
|
||||||
.createObject(
|
.createObject(
|
||||||
subject,
|
subject,
|
||||||
FileDescriptors._deUniversalArchiveFileObject,
|
_fileDescriptors._deUniversalArchiveFileObject,
|
||||||
fileName);
|
fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
deObj = ds.createObject(subject,
|
deObj = ds.createObject(subject,
|
||||||
FileDescriptors._deUniversalFileObject,
|
_fileDescriptors._deUniversalFileObject,
|
||||||
fileName);
|
fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -262,13 +265,13 @@ public class FileQueryThread extends QueryThread
|
||||||
if (ArchiveHandlerManager.getInstance().isArchive(file))
|
if (ArchiveHandlerManager.getInstance().isArchive(file))
|
||||||
{
|
{
|
||||||
deObj = ds.createObject(subject,
|
deObj = ds.createObject(subject,
|
||||||
FileDescriptors._deUniversalArchiveFileObject,
|
_fileDescriptors._deUniversalArchiveFileObject,
|
||||||
fileName);
|
fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
deObj = ds.createObject(subject,
|
deObj = ds.createObject(subject,
|
||||||
FileDescriptors._deUniversalFolderObject,
|
_fileDescriptors._deUniversalFolderObject,
|
||||||
fileName);
|
fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -277,14 +280,14 @@ public class FileQueryThread extends QueryThread
|
||||||
if (ArchiveHandlerManager.getInstance().isArchive(file))
|
if (ArchiveHandlerManager.getInstance().isArchive(file))
|
||||||
{
|
{
|
||||||
deObj = ds.createObject(subject,
|
deObj = ds.createObject(subject,
|
||||||
FileDescriptors._deUniversalArchiveFileObject,
|
_fileDescriptors._deUniversalArchiveFileObject,
|
||||||
fileName);
|
fileName);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
deObj = ds
|
deObj = ds
|
||||||
.createObject(subject,
|
.createObject(subject,
|
||||||
FileDescriptors._deUniversalFileObject,
|
_fileDescriptors._deUniversalFileObject,
|
||||||
fileName);
|
fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2006, 2011 IBM Corporation and others.
|
* Copyright (c) 2006, 2012 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -28,6 +28,7 @@
|
||||||
* David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support
|
* David McKnight (IBM) - [283613] [dstore] Create a Constants File for all System Properties we support
|
||||||
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
|
* David McKnight (IBM) - [358301] [DSTORE] Hang during debug source look up
|
||||||
* Noriaki Takatsu (IBM) - [362025] [dstore] Search for text hung in encountering a device definition
|
* Noriaki Takatsu (IBM) - [362025] [dstore] Search for text hung in encountering a device definition
|
||||||
|
* David McKnight (IBM) - [371401] [dstore][multithread] avoid use of static variables - causes memory leak after disconnect
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
|
package org.eclipse.rse.internal.dstore.universal.miners.filesystem;
|
||||||
|
@ -95,7 +96,7 @@ public class UniversalSearchHandler extends SecuredThread implements ICancellabl
|
||||||
public UniversalSearchHandler(DataStore dataStore, UniversalFileSystemMiner miner, SystemSearchString searchString, boolean fsCaseSensitive, File theFile, DataElement status) {
|
public UniversalSearchHandler(DataStore dataStore, UniversalFileSystemMiner miner, SystemSearchString searchString, boolean fsCaseSensitive, File theFile, DataElement status) {
|
||||||
super(dataStore);
|
super(dataStore);
|
||||||
|
|
||||||
_memoryManager = MemoryManager.getInstance(dataStore);
|
_memoryManager = new MemoryManager(dataStore);
|
||||||
_miner = miner;
|
_miner = miner;
|
||||||
_searchString = searchString;
|
_searchString = searchString;
|
||||||
_fsCaseSensitive = fsCaseSensitive;
|
_fsCaseSensitive = fsCaseSensitive;
|
||||||
|
|
Loading…
Add table
Reference in a new issue