*/
package jalview.ws.dbsources;
+import java.util.Locale;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import com.stevesoft.pat.Regex;
import jalview.analysis.SequenceIdMatcher;
import jalview.bin.Console;
import jalview.util.DnaUtils;
import jalview.util.MapList;
import jalview.util.MappingUtils;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
import jalview.ws.ebi.EBIFetchClient;
import jalview.xml.binding.embl.EntryType;
import jalview.xml.binding.embl.EntryType.Feature;
import jalview.xml.binding.embl.ROOT;
import jalview.xml.binding.embl.XrefType;
+import com.stevesoft.pat.Regex;
+
+/**
+ * Provides XML binding and parsing of EMBL or EMBLCDS records retrieved from
+ * (e.g.) {@code https://www.ebi.ac.uk/ena/data/view/x53828&display=xml}.
+ *
+ * @deprecated endpoint withdrawn August 2020 (JAL-3692), use EmblFlatfileSource
+ */
+@Deprecated
public abstract class EmblXmlSource extends EbiFileRetrievedProxy
{
- private static final Regex ACCESSION_REGEX = new Regex("^[A-Z]+[0-9]+");
+ // TODO: delete class or update tyhis validator for 2.12 style Platform.regex
+ private static final Regex ACCESSION_REGEX = Platform.newRegex("^[A-Z]+[0-9]+");
/*
* JAL-1856 Embl returns this text for query not found
try
{
reply = dbFetch.fetchDataAsFile(
- emprefx.toLowerCase(Locale.ROOT) + ":" + query.trim(),
- "display=xml", "xml");
+ emprefx.toLowerCase(Locale.ROOT) + ":" + query.trim(), "display=xml",
+ "xml");
} catch (Exception e)
{
stopQuery();
else
{
// final product length truncation check
- int[] exons2 = adjustForProteinLength(translationLength, exons);
- dnaToProteinMapping = new Mapping(product, exons2,
+ int[] cdsRanges = adjustForProteinLength(translationLength,
+ exons);
+ dnaToProteinMapping = new Mapping(product, cdsRanges,
new int[]
{ 1, translationLength }, 3, 1);
if (product != null)