3.2. Global Unique Identifier (GUID) pour Vitam¶
3.2.1. Spécifier ProcessId¶
Pour surcharger/spécifier le processId, qui par défaut prend la valeur du PID du processus Java, il faut utiliser la property suivante:
-Dfr.gouv.vitam.processId=nnnnn
Où nnnnn est un nombre entre 0 et 2^22 (4194304).
3.2.2. GUID Factory¶
Usage:
Il faut utiliser le helper approprié en fonction du type d’objet pour lequel on souhaite créer un GUID.
3.2.2.1. Pour la partie interne Vitam¶
- Obligatoire en Interne Vitam: le ServerIdentity doit être initialisé (inutile en mode client Vitam)
ServerIdentity.getInstance.setFromMap(Map);
ServerIdentity.getInstance.setFromPropertyFile(File);
ServerIdentity.getInstance.setName(String).setRole(String).setPlatformId(int);
- Pour un Unit et son Unit Logbook associé :
GUID unitGuid = GUIDFactory.newUnitGUID(tenantId);
- Pour un ObjectGroup et son ObjectGroup Logbook associé :
GUID objectGroupGuid = GUIDFactory.newObjectGroupGUID(tenantId);
// or
GUID objectGroupGuid = GUIDFactory.newObjectGroupGUID(unitParentGUID);
- Pour un Object et son Binary object associé :
GUID objectGuid = GUIDFactory.newObjectGUID(tenantId);
// or
GUID objectGuid = GUIDFactory.newObjectGUID(objectGroupParentGUID);
- Pour une Opération (process):
GUID operationGuid = GUIDFactory.newOperationIdGUID(tenantId);
- Pour un Request Id (X-Request-Id) :
GUID requestIdGuid = GUIDFactory.newRequestIdGUID(tenantId);
- Pour un SIP / Manifest / Seda like informations Id:
GUID manifestGuid = GUIDFactory.newManifestGUID(tenantId);
- Pour un Logbook daily Id (Operation, Write):
GUID writeLogbookGuid = GUIDFactory.newWriteLogbookGUID(tenantId);
- Pour un storage operation Id:
GUID storageOperationGuid = GUIDFactory.newStorageOperationGUID(tenantId);
- Pour savoir si un GUID est par défaut associé à une Règle WORM :
GUID storageOperationGuid.isWorm();
3.2.2.2. Pour la partie interne et public Vitam¶
- Pour récupérer un GUID depuis sa réprésentation :
GUID guid = GUIDReader.getGUID(stringGuid);
GUID guid = GUIDReader.getGUID(byteArrayGuid);
Où le « stringGuid » peut être dans sa forme BASE16 / BASE32 / BASE64 ou ARK.
3.2.3. Attention¶
- Personne ne devrait utiliser les helpers constructeurs directs (newUuid). * Ces méthodes sont réservées à des usages spéciaux futurs non encore définis.