Search file
Cette section présente l’usage du IViewController pour les espaces documentaires.
Il s’agit des même IViewController présents sur les processus ou réservoirs de données, la logique de fonctionnement est donc très similaire.
Mise en place
Récupération du IViewController
Le IViewController peut être récupéré depuis le module : IViewController viewController = iLibraryModule.getViewController();
Les méthodes utilisables pour l’instant sont getViewController()
ou getViewController(Class)
.
Les méthodes utilisant un stream et donc une description XML de requêtage ne sont pas encore disponibles.
Définition de contraintes
Des contraintes peuvent ensuite être déposées de la même manière qu’avec tous les IViewController.
Champs systèmes
Sysname | Description |
---|---|
sys_Reference | Nom du document |
sys_CreationDate | Date de création du document |
sys_ModificationDate | Date de dernière modification du document |
sys_Creator | Créateur du document |
sys_Language | Langue du document |
sys_ResourceDefinition | Nom système du type de document associé au document |
sys_Library | Nom système de l’espace documentaire du document |
sys_FileName | Nom du fichier |
sys_FileSize | Taille du fichier (en octets) |
Attributs documentaires
Les attributs documentaires (issus du type de document) sont également requêtables via leur nom système.
Périmètres d’évaluations
Les périmètres possibles dans l’évaluation sont :
- Le serveur complet :
evaluate()
- Un espace documentaire :
evaluate(ILibrary)
- Un type de document dans un espace documentaire :
evaluate(IResourceDefinition)
Exemples
Recherche sur un espace documentaire
IViewController viewController = iLibraryModule.getViewController();
IContext context = libraryModule.getContextByLogin("sysadmin");
ILibrary library = libraryModule.getLibrary(context, "TestDocumentSpace");
viewController.addLessConstraint("sys_CreationDate", limitDate);
viewController.addGreaterConstraint("sys_FileSize", 200000);
Collection<IFile> fileList = viewController.evaluate(library);
for (IFile file : fileList) {
LOGGER.error(file.getName());
}
Recherche sur toute l’instance
IViewController viewController = iLibraryModule.getViewController();
IContext context = libraryModule.getContextByLogin("sysadmin");
viewController.addEqualsConstraint("sys_ResourceDefinition", "MyGreatType");
viewController.addEqualsConstraint("attributeName1", "value1");
Collection<IFile> fileList = viewController.evaluate(library);
for (IFile file : fileList) {
LOGGER.error(file.getName());
}
Méthodes non supportées
Il s’agit des méthodes du IViewController non supportées dans le cas de la recherche dans les espaces documentaires :
- evaluate(ICatalog catalog)
- evaluate(IWorkflowContainer workflowContainer)
- evaluate(IWorkflow workflow)
- evaluate(ITask task)
- evaluateSize(ICatalog catalog)
- evaluateSize(IWorkflowContainer workflowContainer)
- evaluateSize(IWorkflow workflow)
- evaluateSize(ITask task)
- setAllowSystemCatalogs(boolean allowSystemCatalogs)
- setSecurityApplied(boolean securityApplied)
- setStatus(int status)
Source : https://wiki.myvdoc.net/xwiki/bin/view/Dev+Floor/SearchDocumentsInSpaces