API XStream ajout de classe
Bonjours,
Nous utilisons une sérialisation automatique a partir de l'API XStream.
Nous avons donc notre plugin (eclispe) qui sérialise et dé-sérialise automatiquement nos objets.
Maintenant, j'ai ajouté un point d'extension, qui rajoute des objets en plus. Le problème est qu'a la dé-sérialisation, il ne semble plus connaitre les objets qui sont issus du plugin.
Je souhaiterais bien lui ajouter les classes qui ne connaient pas, mais je ne sais pas ou les ajouter.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public static List<Resource> deserializeObject(final String xmlFilePath) {
List<Resource> deserializedObject = null;
try {
// Instanciation de la classe XStream
XStream xstream = new XStream(new DomDriver(ENCODAGE));
ClassLoader classLoader = Activator.class.getClassLoader();
xstream.setClassLoader(classLoader);
// Redirection du fichier vers un flux d'entrée fichier
FileInputStream fis = new FileInputStream(new File(xmlFilePath));
try {
// Désérialisation du fichier vers un nouvel objet
deserializedObject = (List<Resource>) xstream.fromXML(fis);
} finally {
// On s'assure de fermer le flux quoi qu'il arrive
fis.close();
fis = null;
System.gc();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
return deserializedObject;
} |
Sur mon gestionnaire de point d'extension, j'ai ajouté la méthode qui parcours toutes les extensions et qui récupère les classes utiles.
Mais maintenant, j'en fait quoi ?
Merci d'avance.