Yes, you would have to use the record storage or an index or could integrate an own external database.
E.g. activate the RecordStorage in config.ini (add a line “org.eclipse.smila.recordstorage.impl@4:start, \”) or the
launch configuration and do something like this in your pipelets:
import org.eclipse.smila.recordstorage.RecordStorage;
import org.eclipse.smila.utils.service.ServiceUtils;
…
RecordStorage storage = ServiceUtils.getService(RecordStorage.class);
storage.storeRecord(record);
…
String recordId = …;
Record record = storage.loadRecord(recordId);
This should store the record metadata (but not attachments) in a local Derby database.
To store in Solr, you can probably use the SolrIndexPipelet, but I’m not sure how to retrieve the
record. Maybe you want to take a look at the SolrSearchPipelet to see what has to be done.
Cheers,
Juergen.
Von: smila-user-bounces@xxxxxxxxxxx [mailto:smila-user-bounces@xxxxxxxxxxx] Im Auftrag von Nick
Gesendet: Dienstag, 3. April 2012 11:10
An: Smila project user mailing list
Betreff: [smila-user] Store and access records in different workflows
Hi,
I'm developing a SMILA application composed by several asynchronous workflows.
I would like to store some records during workflow A in order to retrieve them in another workflow (not a subsequent w.r.t. workflow A), say B, and read their metadata.
Workflow B does not receive as input the records I'm looking for, but knows the Ids of records have been stored by workflow A (let's say that I can "compute" such Ids in workflow B).
Is there a way to retrieve past records knowing their Ids? What about store records in the Record Store or index them in the Solr Index?
Thank you,
Nicolò Aquilini