I try to put piece of document of database1 to another document of another database2.
DatabaseOld => documentOld DatabaseNew => documentNew
documentOld => documentNew
When I try to extract the document the program crash and the message is : "the object store database is disabled (c:/temp/1514548644864864/Original.jpg)"
I call my method with this :
List<PieceJointeDTO> pieceJointeToRenvoyers = gererPieceJointe(champ, nomChamp, nomRepertoire);
and this is my method :
private List<PieceJointeDTO> gererPieceJointe(RichTextItem rti, String nomChamp, String nomRepertoire) {
List<PieceJointeDTO> pieceJointeToRenvoyers = new ArrayList<PieceJointeDTO>();
String namePieceJointe = "";
Vector<?> vector1 = null;
Enumeration<?> enumera1;
EmbeddedObject embeddedObject1 = null;
boolean debut = true;
EmbeddedObject embeddedTemp = null;
try
{
// récupère les pièces jointes
try
{
vector1 = rti.getEmbeddedObjects();
enumera1 = vector1.elements();
while (enumera1.hasMoreElements())
{
//recycle l'objet si ce n'est pas le premier passage du while
if (debut == true)
{
embeddedObject1 = (EmbeddedObject) enumera1.nextElement();
debut = false;
} else
{
embeddedTemp = (EmbeddedObject) enumera1.nextElement();
embeddedObject1.recycle();
embeddedObject1 = embeddedTemp;
}
//si l'objet est une pièce jointe
if (embeddedObject1.getType() == EmbeddedObject.EMBED_ATTACHMENT)
{
namePieceJointe = embeddedObject1.getName();
//recupere la taille du fichier joint
monDocNew.replaceItemValue(nomChamp, embeddedObject1.getFileSize());
//extrait la pièce jointe et la copie dans un objet File
String chemin = nomRepertoire + namePieceJointe;
if (!new File(nomRepertoire).exists())
{
// Créer le dossier avec tous ses parents
new File(nomRepertoire).mkdirs();
}
System.out.println("extratfile");
embeddedObject1.extractFile(chemin); <= it's here
System.out.println("fin extratcfile");
File tempPieceJointe = new File(chemin);
PieceJointeDTO pieceJointeToInsert = buildPieceJointe(tempPieceJointe, namePieceJointe, chemin);
pieceJointeToRenvoyers.add(pieceJointeToInsert);
pieceJointeToInsert = null;
}
}
} finally
{
vector1 = null;
enumera1 = null;
UtilMemoire.purgeMemoire();
}
} catch (NotesException e) {
System.out.println("ERREUR notes " + namePieceJointe + " sur méthode gererPieceJointe() sur javaagent phototheque");
e.printStackTrace();
}
return pieceJointeToRenvoyers;
}
Normally, my method works when I put the piece of document in enreg DB2. I can put some elements in another database if I don't use textrich (only string for exemple).
I open the two database correctly, I don't understand what's happen? Could you help me ?