Skip to content

Commit d0f2a71

Browse files
committed
Better error message when setting cannot be loaded
1 parent ff59172 commit d0f2a71

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

src/main/java/de/thomas_oster/visicut/VisicutModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ public PlfFile loadPlfFile(MappingManager mm, File f, List<String> warnings) thr
527527
}
528528
else if (name.equals((i > 0 ? i+"/" : "")+"mappings.xml"))
529529
{
530-
MappingSet map = mm.loadFromFile(zip.getInputStream(entry));
530+
MappingSet map = mm.loadFromFile(zip.getInputStream(entry), name);
531531
if (map != null)
532532
{
533533
mappings.put(i, map);

src/main/java/de/thomas_oster/visicut/managers/FilebasedManager.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

src/main/java/de/thomas_oster/visicut/model/graphicelements/psvgsupport/ParametricPlfPart.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public static void serializeParameterValues(Map<String, Parameter> parameters, O
7373
static void unserializeParameterValues(Map<String, Parameter> parameters, FileInputStream in)
7474
{
7575
XStream xstream = getXStream();
76-
Map<String, Object> values = (Map<String, Object>) FilebasedManager.readObjectFromXmlStream(in, xstream);
76+
Map<String, Object> values = (Map<String, Object>) FilebasedManager.readObjectFromXmlStream(in, xstream, "parametric PLF part");
7777
for (Entry<String, Object> e : values.entrySet())
7878
{
7979
if (parameters.containsKey(e.getKey()))

0 commit comments

Comments
 (0)