- StringBuilder builder = new StringBuilder();
- for (SequenceI seq : seqs)
- {
- builder.append(">").append(seq.getName()).append("\n");
- builder.append(seq.getSequence()).append("\n");
- }
- InputStream stream = new ByteArrayInputStream(builder.toString().getBytes());
- RemoteFile file = client.uploadFile(stream, "input.fasta", "application/fasta");
- SlivkaForm form = service.getForm();
- HashMap<String, String> values = new HashMap<>(paramset != null ? paramset.size() : 0);
- if (paramset != null)
- {
- for (ArgumentI arg : paramset)
- {
- values.put(arg.getName(), arg.getValue());
- }
- }
- for (FormField field : form.getFields())
- {
- switch (field.getType())
- {
- case FILE:
- form.insert(field.getName(), file);
- break;
- case BOOLEAN:
- String value = values.get(field.getName());
- form.insert(field.getName(), value != null && !value.isBlank() ? true : false);
- break;
- default:
- form.insert(field.getName(), field.valueOf(values.get(field.getName())));
- }
- }
- return new JobId(service.getName(), service.getName(), form.submit());