*
* @return the next luid
*/
- protected abstract int getNextId();
+ protected abstract String getNextId();
/**
* Delete the target {@link Story}.
/**
* Retrieve a specific {@link Story}.
+ * <p>
+ * Note that it will update both the cover and the resume in <tt>meta</tt>.
*
* @param luid
* the Library UID of the story
/**
* Retrieve a specific {@link Story}.
+ * <p>
+ * Note that it will update both the cover and the resume in <tt>meta</tt>.
*
* @param luid
* the LUID of the story
* in case of I/O error
*/
public MetaData imprt(URL url, Progress pg) throws IOException {
+ return imprt(url, null, pg);
+ }
+
+ /**
+ * Import the {@link Story} at the given {@link URL} into the
+ * {@link BasicLibrary}.
+ *
+ * @param url
+ * the {@link URL} to import
+ * @param luid
+ * the LUID to use
+ * @param pg
+ * the optional progress reporter
+ *
+ * @return the imported Story {@link MetaData}
+ *
+ * @throws UnknownHostException
+ * if the host is not supported
+ * @throws IOException
+ * in case of I/O error
+ */
+ MetaData imprt(URL url, String luid, Progress pg) throws IOException {
if (pg == null)
pg = new Progress();
throw new UnknownHostException("" + url);
}
- Story story = save(support.process(pgProcess), pgSave);
+ Story story = save(support.process(pgProcess), luid, pgSave);
pg.done();
return story.getMeta();
pg.setName("Saving story");
if (luid == null || luid.isEmpty()) {
- meta.setLuid(String.format("%03d", getNextId()));
+ meta.setLuid(getNextId());
} else {
meta.setLuid(luid);
}