Merge branch 'tasks/JAL-3035_remove_dasobert_dependency' into Jalview-BH/JAL-3026
authorJim Procter <jprocter@issues.jalview.org>
Tue, 26 Jun 2018 15:38:14 +0000 (16:38 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Tue, 26 Jun 2018 15:38:14 +0000 (16:38 +0100)
1  2 
src/jalview/bin/Cache.java
src/jalview/bin/Jalview.java
src/jalview/gui/SequenceFetcher.java

@@@ -28,8 -28,6 +28,6 @@@ import jalview.schemes.UserColourScheme
  import jalview.structure.StructureImportSettings;
  import jalview.urls.IdOrgSettings;
  import jalview.util.ColorUtils;
- import jalview.ws.dbsources.das.api.DasSourceRegistryI;
- import jalview.ws.dbsources.das.datamodel.DasSourceRegistry;
  import jalview.ws.sifts.SiftsSettings;
  
  import java.awt.Color;
@@@ -288,8 -286,7 +286,8 @@@ public class Cach
    /** Default file is ~/.jalview_properties */
    static String propertiesFile;
  
 -  private static boolean propsAreReadOnly = false;
 +  private static boolean propsAreReadOnly = /** @j2sNative true || */
 +          false;
  
    public static void initLogger()
    {
      // LOAD THE AUTHORS FROM THE authors.props file
      try
      {
 -      String authorDetails = "jar:"
 +      String authorDetails = /** @j2sNative "xxx" || */
 +              "jar:"
                .concat(Cache.class.getProtectionDomain().getCodeSource()
                        .getLocation().toString().concat("!/authors.props"));
  
      // VERSION MAY HAVE CHANGED SINCE LAST USING JALVIEW
      try
      {
 -      String buildDetails = "jar:".concat(Cache.class.getProtectionDomain()
 +      String buildDetails = /** @j2sNative "xxx" || */
 +              "jar:".concat(Cache.class.getProtectionDomain()
                .getCodeSource().getLocation().toString()
                .concat("!/.build_properties"));
  
      return null;
    }
  
-   private static DasSourceRegistryI sourceRegistry = null;
-   /**
-    * initialise and ..
-    * 
-    * @return instance of the das source registry
-    */
-   public static DasSourceRegistryI getDasSourceRegistry()
-   {
-     if (sourceRegistry == null)
-     {
-       sourceRegistry = new DasSourceRegistry();
-     }
-     return sourceRegistry;
-   }
    /**
     * Set the specified value, or remove it if null or empty. Does not save the
     * properties file.
@@@ -77,9 -77,6 +77,9 @@@ import groovy.util.GroovyScriptEngine
   */
  public class Jalview
  {
 +
 +  // BH 6/19/2018 starting to work on JS version - just discovering issues
 +
    /*
     * singleton instance of this class
     */
  
    public static AlignFrame currentAlignFrame;
  
 +  public static boolean isJS = /** @j2sNative true || */ // BH 2018
 +          false;
 +
    static
    {
 +
 +    if (!isJS)
 +    { // BH 2018
      // grab all the rights we can the JVM
      Policy.setPolicy(new Policy()
      {
        {
        }
      });
 +
 +    }
    }
  
    /**
            af.setProgressBar(MessageManager
                    .getString("status.das_features_being_retrived"), id);
            af.featureSettings_actionPerformed(null);
-           af.featureSettings.fetchDasFeatures(dasSources, true);
            af.setProgressBar(null, id);
            synchronized (us)
            {
     */
    void doMain(String[] args)
    {
 -    System.setSecurityManager(null);
 +
 +    if (!isJS)
 +    {
 +      System.setSecurityManager(null);
 +    }
 +
      System.out
              .println("Java version: " + System.getProperty("java.version"));
      System.out.println(System.getProperty("os.arch") + " "
      ArgsParser aparser = new ArgsParser(args);
      boolean headless = false;
  
 -    if (aparser.contains("help") || aparser.contains("h"))
 -    {
 -      showUsage();
 -      System.exit(0);
 -    }
 -    if (aparser.contains("nodisplay") || aparser.contains("nogui")
 -            || aparser.contains("headless"))
 -    {
 -      System.setProperty("java.awt.headless", "true");
 -      headless = true;
 -    }
      String usrPropsFile = aparser.getValue("props");
      Cache.loadProperties(usrPropsFile); // must do this before
      if (usrPropsFile != null)
                "CMD [-props " + usrPropsFile + "] executed successfully!");
      }
  
 -    // anything else!
 -
 -    final String jabawsUrl = aparser.getValue("jabaws");
 -    if (jabawsUrl != null)
 +    /**
 +     * BH 2018 ignoring this section for JS
 +     * 
 +     * @j2sNative
 +     */
      {
 -      try
 +      if (aparser.contains("help") || aparser.contains("h"))
        {
 -        Jws2Discoverer.getDiscoverer().setPreferredUrl(jabawsUrl);
 -        System.out.println(
 -                "CMD [-jabaws " + jabawsUrl + "] executed successfully!");
 -      } catch (MalformedURLException e)
 +        showUsage();
 +        System.exit(0);
 +      }
 +      if (aparser.contains("nodisplay") || aparser.contains("nogui")
 +              || aparser.contains("headless"))
        {
 -        System.err.println(
 -                "Invalid jabaws parameter: " + jabawsUrl + " ignored");
 +        System.setProperty("java.awt.headless", "true");
 +        headless = true;
 +      }
 +      // anything else!
 +
 +      final String jabawsUrl = aparser.getValue("jabaws");
 +      if (jabawsUrl != null)
 +      {
 +        try
 +        {
 +          Jws2Discoverer.getDiscoverer().setPreferredUrl(jabawsUrl);
 +          System.out.println(
 +                  "CMD [-jabaws " + jabawsUrl + "] executed successfully!");
 +        } catch (MalformedURLException e)
 +        {
 +          System.err.println(
 +                  "Invalid jabaws parameter: " + jabawsUrl + " ignored");
 +        }
        }
 -    }
  
 +    }
      String defs = aparser.getValue("setprop");
      while (defs != null)
      {
        desktop = new Desktop();
        desktop.setInBatchMode(true); // indicate we are starting up
        desktop.setVisible(true);
 -      desktop.startServiceDiscovery();
 -      if (!aparser.contains("nousagestats"))
 -      {
 -        startUsageStats(desktop);
 -      }
 -      else
 -      {
 -        System.err.println("CMD [-nousagestats] executed successfully!");
 -      }
  
 -      if (!aparser.contains("noquestionnaire"))
 +      /**
 +       * BH 2018 JS bypass this section
 +       * 
 +       * @j2sNative
 +       * 
 +       */
        {
 -        String url = aparser.getValue("questionnaire");
 -        if (url != null)
 +        desktop.startServiceDiscovery();
 +        if (!aparser.contains("nousagestats"))
          {
 -          // Start the desktop questionnaire prompter with the specified
 -          // questionnaire
 -          Cache.log.debug("Starting questionnaire url at " + url);
 -          desktop.checkForQuestionnaire(url);
 -          System.out.println(
 -                  "CMD questionnaire[-" + url + "] executed successfully!");
 +          startUsageStats(desktop);
          }
          else
          {
 -          if (Cache.getProperty("NOQUESTIONNAIRES") == null)
 +          System.err.println("CMD [-nousagestats] executed successfully!");
 +        }
 +
 +        if (!aparser.contains("noquestionnaire"))
 +        {
 +          String url = aparser.getValue("questionnaire");
 +          if (url != null)
            {
              // Start the desktop questionnaire prompter with the specified
              // questionnaire
 -            // String defurl =
 -            // "http://anaplog.compbio.dundee.ac.uk/cgi-bin/questionnaire.pl";
 -            // //
 -            String defurl = "http://www.jalview.org/cgi-bin/questionnaire.pl";
 -            Cache.log.debug(
 -                    "Starting questionnaire with default url: " + defurl);
 -            desktop.checkForQuestionnaire(defurl);
 +            Cache.log.debug("Starting questionnaire url at " + url);
 +            desktop.checkForQuestionnaire(url);
 +            System.out.println("CMD questionnaire[-" + url
 +                    + "] executed successfully!");
 +          }
 +          else
 +          {
 +            if (Cache.getProperty("NOQUESTIONNAIRES") == null)
 +            {
 +              // Start the desktop questionnaire prompter with the specified
 +              // questionnaire
 +              // String defurl =
 +              // "http://anaplog.compbio.dundee.ac.uk/cgi-bin/questionnaire.pl";
 +              // //
 +              String defurl = "http://www.jalview.org/cgi-bin/questionnaire.pl";
 +              Cache.log.debug(
 +                      "Starting questionnaire with default url: " + defurl);
 +              desktop.checkForQuestionnaire(defurl);
 +            }
            }
          }
 -      }
 -      else
 -      {
 -        System.err.println("CMD [-noquestionnaire] executed successfully!");
 -      }
 +        else
 +        {
 +          System.err
 +                  .println("CMD [-noquestionnaire] executed successfully!");
 +        }
  
 -      if (!aparser.contains("nonews"))
 -      {
 -        desktop.checkForNews();
 -      }
 +        if (!aparser.contains("nonews"))
 +        {
 +          desktop.checkForNews();
 +        }
  
 -      BioJsHTMLOutput.updateBioJS();
 +        BioJsHTMLOutput.updateBioJS();
 +      }
      }
  
      String file = null, data = null;
        }
        System.out.println("CMD [-open " + file + "] executed successfully!");
  
 -      if (!file.startsWith("http://"))
 +      if (!isJS && !file.startsWith("http://"))
        {
          if (!(new File(file)).exists())
          {
          }
        }
  
 -      protocol = AppletFormatAdapter.checkProtocol(file);
 +        protocol = AppletFormatAdapter.checkProtocol(file);
  
        try
        {
      // And the user
      // ////////////////////
  
 -    if (!headless && file == null && vamsasImport == null
 +    if (/** @j2sNative false && */ // BH 2018
 +    !headless && file == null && vamsasImport == null
              && jalview.bin.Cache.getDefault("SHOW_STARTUP_FILE", true))
      {
        file = jalview.bin.Cache.getDefault("STARTUP_FILE",
@@@ -24,6 -24,7 +24,6 @@@ import jalview.api.FeatureSettingsModel
  import jalview.bin.Cache;
  import jalview.datamodel.AlignmentI;
  import jalview.datamodel.DBRefEntry;
 -import jalview.datamodel.SequenceFeature;
  import jalview.datamodel.SequenceI;
  import jalview.fts.core.GFTSPanel;
  import jalview.fts.service.pdb.PDBFTSPanel;
@@@ -33,7 -34,6 +33,6 @@@ import jalview.io.gff.SequenceOntologyI
  import jalview.util.DBRefUtils;
  import jalview.util.MessageManager;
  import jalview.util.Platform;
- import jalview.ws.dbsources.das.api.DasSourceRegistryI;
  import jalview.ws.seqfetcher.DbSourceProxy;
  
  import java.awt.BorderLayout;
@@@ -110,10 -110,6 +109,6 @@@ public class SequenceFetcher extends JP
  
    private static jalview.ws.SequenceFetcher sfetch = null;
  
-   private static long lastDasSourceRegistry = -3;
-   private static DasSourceRegistryI dasRegistry = null;
    private static boolean _initingFetcher = false;
  
    private static Thread initingThread = null;
                  Thread.currentThread().hashCode());
        }
      }
-     if (sfetch == null || dasRegistry != Cache.getDasSourceRegistry()
-             || lastDasSourceRegistry != (Cache.getDasSourceRegistry()
-                     .getDasRegistryURL()
-                     + Cache.getDasSourceRegistry().getLocalSourceString())
-                             .hashCode())
+     if (sfetch == null)
      {
        _initingFetcher = true;
        initingThread = Thread.currentThread();
                          "status.init_sequence_database_fetchers"),
                  Thread.currentThread().hashCode());
        }
-       dasRegistry = Cache.getDasSourceRegistry();
-       dasRegistry.refreshSources();
  
        jalview.ws.SequenceFetcher sf = new jalview.ws.SequenceFetcher();
        if (guiWindow != null)
        {
          guiWindow.setProgressBar(null, Thread.currentThread().hashCode());
        }
-       lastDasSourceRegistry = (dasRegistry.getDasRegistryURL()
-               + dasRegistry.getLocalSourceString()).hashCode();
        sfetch = sf;
        _initingFetcher = false;
        initingThread = null;
        dbeg.setText(MessageManager.formatMessage("label.example_query_param",
                new String[]
                { eq }));
+       // TODO this should be a property of the SequenceFetcher whether commas are and
+       // colons are allowed in the IDs...
        boolean enablePunct = !(eq != null && eq.indexOf(",") > -1);
-       for (DbSourceProxy dbs : database.getSelectedSources())
-       {
-         if (dbs instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)
-         {
-           enablePunct = false;
-           break;
-         }
-       }
        replacePunctuation.setEnabled(enablePunct);
  
      } catch (Exception ex)
            // Alignments?
          }
  
 -        SequenceFeature[] sfs = null;
 -        List<SequenceI> alsqs;
 -        synchronized (alsqs = al.getSequences())
 +        List<SequenceI> alsqs = al.getSequences();
 +        synchronized (alsqs)
          {
            for (SequenceI sq : alsqs)
            {