return list;
}
+ /**
+ * Retrieve a {@link File} corresponding to the given {@link Story}.
+ *
+ * @param luid
+ * the Library UID of the story
+ *
+ * @return the corresponding {@link Story}
+ */
+ public MetaData getInfo(String luid) {
+ if (luid != null) {
+ for (Entry<MetaData, File> entry : getStories().entrySet()) {
+ if (luid.equals(entry.getKey().getLuid())) {
+ return entry.getKey();
+ }
+ }
+ }
+
+ return null;
+ }
+
/**
* Retrieve a {@link File} corresponding to the given {@link Story}.
*
throw new IOException("Output type not supported: " + type);
}
+ Story story = getStory(luid);
+ if (story == null) {
+ throw new IOException("Cannot find story to export: " + luid);
+ }
+
return out.process(getStory(luid), target);
}
* in case of I/O error
*/
private Story save(Story story, String luid) throws IOException {
- MetaData key = story.getMeta();
+ // Do not change the original metadata, but change the original story
+ MetaData key = story.getMeta().clone();
+ story.setMeta(key);
if (luid == null || luid.isEmpty()) {
getStories(); // refresh lastId if needed