import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceI;
+import jalview.gui.Preferences;
import jalview.schemes.ResidueProperties;
import jalview.util.StringUtils;
import jalview.ws.seqfetcher.DbSourceProxyImpl;
import java.util.Vector;
import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.stream.FactoryConfigurationError;
import javax.xml.stream.XMLInputFactory;
private String getDomain()
{
- return Cache.getDefault("UNIPROT_DOMAIN", DEFAULT_UNIPROT_DOMAIN);
+ return Cache.getDefault(Preferences.UNIPROT_DOMAIN, DEFAULT_UNIPROT_DOMAIN);
}
/*
SequenceI uniprotEntryToSequence(Entry entry)
{
String id = getUniprotEntryId(entry);
- String seqString = entry.getSequence().getValue();
-
/*
- * for backwards compatibility with Castor processing,
- * remove any internal spaces
+ * Sequence should not include any whitespace, but JAXB leaves these in
*/
- if (seqString.indexOf(' ') > -1)
- {
- seqString = seqString.replaceAll(" ", "");
- }
+ String seqString = entry.getSequence().getValue().replaceAll("\\s*",
+ "");
+
SequenceI sequence = new Sequence(id,
seqString);
sequence.setDescription(getUniprotEntryDescription(entry));
XMLStreamReader streamReader = XMLInputFactory.newInstance()
.createXMLStreamReader(is);
javax.xml.bind.Unmarshaller um = jc.createUnmarshaller();
- jalview.xml.binding.uniprot.Uniprot uniprot = (jalview.xml.binding.uniprot.Uniprot) um.unmarshal(streamReader);
+ JAXBElement<jalview.xml.binding.uniprot.Uniprot> uniprotElement =
+ um.unmarshal(streamReader, jalview.xml.binding.uniprot.Uniprot.class);
+ jalview.xml.binding.uniprot.Uniprot uniprot = uniprotElement.getValue();
+
if (uniprot != null && !uniprot.getEntry().isEmpty())
{
entries = uniprot.getEntry();