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.
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Mais maintenant, j'en fait quoi ?
Merci d'avance.
Partager