@@ -228,7 +228,7 @@ public void save(T mp, File f) throws FileNotFoundException, IOException
228228 public T loadFromFile (File f ) throws FileNotFoundException , IOException
229229 {
230230 FileInputStream fin = new FileInputStream (f );
231- T result = this .loadFromFile (fin );
231+ T result = this .loadFromFile (fin , f . getPath () );
232232 fin .close ();
233233 if (result == null )
234234 {
@@ -245,11 +245,11 @@ public T loadFromFile(File f) throws FileNotFoundException, IOException
245245 return result ;
246246 }
247247
248- public T loadFromFile (InputStream in )
248+ public T loadFromFile (InputStream in , String humanReadableName )
249249 {
250250 try
251251 {
252- return (T ) readObjectFromXmlStream (in , getXStream (true ));
252+ return (T ) readObjectFromXmlStream (in , getXStream (true ), humanReadableName );
253253 }
254254 catch (Exception e )
255255 {
@@ -265,14 +265,15 @@ public T loadFromFile(InputStream in)
265265 * Convert serialized XML file to Object
266266 * @param in input stream which reads from XML file
267267 * @param xStream XStream instance
268+ * @param humanReadableName File name or comment for printing an error message
268269 * @return deserialized Object
269270 */
270- public static Object readObjectFromXmlStream (InputStream in , XStream xStream ) {
271+ public static Object readObjectFromXmlStream (InputStream in , XStream xStream , String humanReadableName ) {
271272 try {
272273 VersionedDocument .xstream = xStream ;
273274 return VersionedDocument .fromXML (IOUtils .toString (in , StandardCharsets .UTF_8 )).toBean ();
274275 } catch (Exception e ) {
275- Logger .getLogger (FilebasedManager .class .getName ()).log (Level .WARNING , "Failed to load object from XML." );
276+ Logger .getLogger (FilebasedManager .class .getName ()).log (Level .WARNING , "Failed to load object from XML: " + humanReadableName );
276277 return null ;
277278 }
278279 }
@@ -286,7 +287,7 @@ public static Object readObjectFromXmlStream(InputStream in, XStream xStream) {
286287 * @throws java.io.FileNotFoundException
287288 */
288289 public static Object readObjectFromXmlFile (File f , XStream xStream ) throws FileNotFoundException {
289- Object o = readObjectFromXmlStream (new FileInputStream (f ), xStream );
290+ Object o = readObjectFromXmlStream (new FileInputStream (f ), xStream , f . getPath () );
290291 if (o != null ) {
291292 return o ;
292293 }
0 commit comments