From d02166c8801f0005ac9c1fbffdf0c26c7ca912aa Mon Sep 17 00:00:00 2001 From: MMWarowny Date: Thu, 6 Feb 2020 17:25:05 +0000 Subject: [PATCH] Implement simple media type recognition. --- j11lib/slivka-client.jar | Bin 42011 -> 44121 bytes src/jalview/ws/slivkaws/SlivkaWSInstance.java | 40 +++++++++++++++++-------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/j11lib/slivka-client.jar b/j11lib/slivka-client.jar index b29679f8c27e8d245a9c51c9127596de2fe2bc2b..6c289d16ad1438e45acb19c0cea42d4549da71ed 100644 GIT binary patch delta 15321 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

+>l*^= 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 Ukrf1l?)@!?3<7eW{`=Se13)2O?f?J) delta 13477 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 PyuZVdKtTMGfB*V_I_kzI diff --git a/src/jalview/ws/slivkaws/SlivkaWSInstance.java b/src/jalview/ws/slivkaws/SlivkaWSInstance.java index 952aab6..fd89a2e 100644 --- a/src/jalview/ws/slivkaws/SlivkaWSInstance.java +++ b/src/jalview/ws/slivkaws/SlivkaWSInstance.java @@ -2,6 +2,8 @@ package jalview.ws.slivkaws; import jalview.datamodel.SequenceI; import jalview.gui.WebserviceInfo; +import jalview.io.FileFormat; +import jalview.io.FormatAdapter; import jalview.ws.api.JalviewServiceEndpointProviderI; import jalview.ws.api.JalviewWebServiceI; import jalview.ws.api.JobId; @@ -25,6 +27,7 @@ import java.util.Optional; import java.util.Set; import uk.ac.dundee.compbio.slivkaclient.FieldType; +import uk.ac.dundee.compbio.slivkaclient.FileField; import uk.ac.dundee.compbio.slivkaclient.FormField; import uk.ac.dundee.compbio.slivkaclient.FormValidationException; import uk.ac.dundee.compbio.slivkaclient.JobState; @@ -73,21 +76,34 @@ public abstract class SlivkaWSInstance extends ServiceWithParameters WsParamSetI preset, List args) throws Throwable { SlivkaForm form = service.getForm(); - Optional inputField = form.getFields().stream() - .filter(f -> f.getType() == FieldType.FILE).findFirst(); - if (inputField.isPresent()) + for (FormField field : form.getFields()) { - StringBuilder builder = new StringBuilder(); - for (SequenceI seq : sequences) + if (field.getType() == FieldType.FILE) { - builder.append(">").append(seq.getName()).append("\n") - .append(seq.getSequence()).append("\n"); + FormatAdapter fa = new FormatAdapter(); + fa.setNewlineString("\r\n"); + FileField fileField = (FileField) field; + FileFormat format; + switch (fileField.getMediaType()) + { + case "application/pfam": + format = FileFormat.Pfam; + break; + case "application/stockholm": + format = FileFormat.Stockholm; + break; + default: + case "application/fasta": + format = FileFormat.Fasta; + break; + } + InputStream stream = new ByteArrayInputStream( + fa.formatSequences(format, sequences.toArray(new SequenceI[0])) + .getBytes()); + RemoteFile rf = client.uploadFile(stream, "input", + fileField.getMediaType()); + form.insert(field.getName(), rf); } - InputStream stream = new ByteArrayInputStream( - builder.toString().getBytes()); - RemoteFile file = client.uploadFile(stream, "input.fa", - "application/fasta"); - form.insert(inputField.get().getName(), file); } if (args != null) { -- 1.7.10.2