Bonjour,
Je voudrais savoir comment supprimer une pièce jointe de Bonita?
Merci
Bonita version: 5.9.1
Java Version: 7
Operating System: Windows 7
Bonjour,
Je voudrais savoir comment supprimer une pièce jointe de Bonita?
Merci
Bonita version: 5.9.1
Java Version: 7
Operating System: Windows 7
Bonjour,
à priori, avec la méthode deleteDocuments de la runtimeAPI
Cldt,
RP
je l’ai déjà essayé mais ça n’a pas fonctionné
Pouvez vous préciser ? Avez vous des messages d’erreur ?
QueryRuntimeAPI api = apiAccessor.getQueryRuntimeAPI() RuntimeAPI runapi = apiAccessor.getRuntimeAPI()DocumentSearchBuilder dsb = new DocumentSearchBuilder();
dsb.criterion(DocumentIndex.PROCESS_INSTANCE_UUID).equalsTo(processInstance.getUUID().toString());
DocumentResult res = api.searchDocuments(dsb, 0, 1000);
List doclist = res.getDocuments();
for (i=0;i<doclist.size();i++)
{
runapi.deleteDocuments(true,(res.getDocuments().get(0)).getUUID())
}
référence
justement, j’ai trouvé cette solution mais ce n’est pas indiqué comment l’utiliser: comme un script Groovy ou carrément créer un connecteur java ?
sinn pour ton code , je dois ajouter les imports n’est ce pas ?
Merci
je l’ai testé comme un connecteur Script Groovy mais ça n’a pas fonctionné, d’après le code il doit logiquement chercher tous les docs attach de l’instance et les supprimer, mais je les (les fichiers joint) retrouve toujours dans leurs emplacement “C:\BOS-5.9.1\studio\workspace\bonita\client\tenants\default\tmp\web\common”
import org.ow2.bonita.search.DocumentSearchBuilder;
import org.ow2.bonita.facade.runtime.AttachmentInstance;
import org.ow2.bonita.search.DocumentResult;
import org.ow2.bonita.search.DocumentSearchBuilder;
import org.ow2.bonita.search.index.DocumentIndex;
import org.ow2.bonita.facade.QueryRuntimeAPI;
import org.ow2.bonita.facade.RuntimeAPI;
import org.ow2.bonita.services.Document;
import org.ow2.bonita.facade.runtime.impl.DocumentImpl;
QueryRuntimeAPI api = apiAccessor.getQueryRuntimeAPI()
RuntimeAPI runapi = apiAccessor.getRuntimeAPI()
DocumentSearchBuilder dsb = new DocumentSearchBuilder();
dsb.criterion(DocumentIndex.PROCESS_INSTANCE_UUID).equalsTo(processInstance.getUUID().toString());
DocumentResult res = api.searchDocuments(dsb, 0, 1000);
List doclist = res.getDocuments();
for (i=0;i<doclist.size();i++)
{
runapi.deleteDocuments(true,(res.getDocuments().get(0)).getUUID())
}
…
Bonjour, en effet l’appel à l’API retire les documents de l’instance du processus: il ne détruit pas physiquement les fichiers temporaires créés lors de l’upload du fichier (il s’agit d’une configuration server à mettre en place), il les retire de la base de données interne utilisée par le moteur bonita.