Merge remote-tracking branch 'origin/tasks/JAL-3035_remove_dasobert_dependency' into...
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 4 Mar 2019 11:47:14 +0000 (11:47 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 4 Mar 2019 11:47:14 +0000 (11:47 +0000)
1  2 
src/jalview/bin/Cache.java
src/jalview/gui/FeatureSettings.java

@@@ -114,7 -114,6 +114,6 @@@ import org.apache.log4j.SimpleLayout
   * service</li>
   * <li>USAGESTATS (false - user prompted) Enable google analytics tracker for
   * collecting usage statistics</li>
-  * <li>DAS_LOCAL_SOURCE list of local das sources</li>
   * <li>SHOW_OVERVIEW boolean for overview window display</li>
   * <li>ANTI_ALIAS boolean for smooth fonts</li>
   * <li>RIGHT_ALIGN_IDS boolean</li>
   * sequence id (must be in SEQUENCE_LINKS or STORED_LINKS)
   * <li>GROUP_LINKS list of name|URL[|&lt;separator&gt;] tuples - see
   * jalview.utils.GroupURLLink for more info</li>
-  * <li>DAS_REGISTRY_URL the registry to query</li>
   * <li>DEFAULT_BROWSER for unix</li>
-  * <li>DAS_ACTIVE_SOURCE list of active sources</li>
   * <li>SHOW_MEMUSAGE boolean show memory usage and warning indicator on desktop
   * (false)</li>
   * <li>VERSION_CHECK (true) check for the latest release version from
@@@ -226,12 -223,6 +223,6 @@@ public class Cach
     */
    public static final String JALVIEWLOGLEVEL = "logs.Jalview.level";
  
-   public static final String DAS_LOCAL_SOURCE = "DAS_LOCAL_SOURCE";
-   public static final String DAS_REGISTRY_URL = "DAS_REGISTRY_URL";
-   public static final String DAS_ACTIVE_SOURCE = "DAS_ACTIVE_SOURCE";
    /**
     * Sifts settings
     */
      return def;
    }
  
 +  public static int getDefault(String property, int def)
 +  {
 +    String string = getProperty(property);
 +    if (string != null)
 +    {
 +      try
 +      {
 +        def = Integer.parseInt(string);
 +      } catch (NumberFormatException e)
 +      {
 +        System.out.println("Error parsing int property '" + property
 +                + "' with value '" + string + "'");
 +      }
 +    }
 +
 +    return def;
 +  }
 +
    /**
     * These methods are used when checking if the saved preference is different
     * to the default setting
@@@ -30,14 -30,13 +30,14 @@@ import jalview.datamodel.features.Featu
  import jalview.gui.Help.HelpId;
  import jalview.io.JalviewFileChooser;
  import jalview.io.JalviewFileView;
 -import jalview.schemabinding.version2.Filter;
 -import jalview.schemabinding.version2.JalviewUserColours;
 -import jalview.schemabinding.version2.MatcherSet;
  import jalview.schemes.FeatureColour;
  import jalview.util.MessageManager;
  import jalview.util.Platform;
  import jalview.viewmodel.seqfeatures.FeatureRendererModel.FeatureSettingsBean;
 +import jalview.xml.binding.jalview.JalviewUserColours;
 +import jalview.xml.binding.jalview.JalviewUserColours.Colour;
 +import jalview.xml.binding.jalview.JalviewUserColours.Filter;
 +import jalview.xml.binding.jalview.ObjectFactory;
  
  import java.awt.BorderLayout;
  import java.awt.Color;
@@@ -79,6 -78,7 +79,6 @@@ import javax.swing.BorderFactory
  import javax.swing.Icon;
  import javax.swing.JButton;
  import javax.swing.JCheckBox;
 -import javax.swing.JCheckBoxMenuItem;
  import javax.swing.JColorChooser;
  import javax.swing.JDialog;
  import javax.swing.JInternalFrame;
@@@ -95,15 -95,9 +95,15 @@@ import javax.swing.SwingConstants
  import javax.swing.event.ChangeEvent;
  import javax.swing.event.ChangeListener;
  import javax.swing.table.AbstractTableModel;
 +import javax.swing.table.JTableHeader;
  import javax.swing.table.TableCellEditor;
  import javax.swing.table.TableCellRenderer;
  import javax.swing.table.TableColumn;
 +import javax.xml.bind.JAXBContext;
 +import javax.xml.bind.JAXBElement;
 +import javax.xml.bind.Marshaller;
 +import javax.xml.stream.XMLInputFactory;
 +import javax.xml.stream.XMLStreamReader;
  
  public class FeatureSettings extends JPanel
          implements FeatureSettingsControllerI
  
    int selectedRow = -1;
  
-   JButton fetchDAS = new JButton();
-   JButton saveDAS = new JButton();
-   JButton cancelDAS = new JButton();
    boolean resettingTable = false;
  
    /*
            FeatureMatcherSet o = (FeatureMatcherSet) table.getValueAt(row,
                    column);
            tip = o.isEmpty()
 -                  ? MessageManager.getString("label.filters_tooltip")
 +                  ? MessageManager
 +                          .getString("label.configure_feature_tooltip")
                    : o.toString();
            break;
          default:
          return tip;
        }
      };
 -    table.getTableHeader().setFont(new Font("Verdana", Font.PLAIN, 12));
 +    JTableHeader tableHeader = table.getTableHeader();
 +    tableHeader.setFont(new Font("Verdana", Font.PLAIN, 12));
 +    tableHeader.setReorderingAllowed(false);
      table.setFont(new Font("Verdana", Font.PLAIN, 12));
  
      // table.setDefaultRenderer(Color.class, new ColorRenderer());
      });
      men.add(dens);
  
 -    /*
 -     * variable colour options include colour by label, by score,
 -     * by selected attribute text, or attribute value
 -     */
 -    final JCheckBoxMenuItem mxcol = new JCheckBoxMenuItem(
 -            MessageManager.getString("label.variable_colour"));
 -    mxcol.setSelected(!featureColour.isSimpleColour());
 -    men.add(mxcol);
 -    mxcol.addActionListener(new ActionListener()
 -    {
 -      JColorChooser colorChooser;
 -
 -      @Override
 -      public void actionPerformed(ActionEvent e)
 -      {
 -        if (e.getSource() == mxcol)
 -        {
 -          if (featureColour.isSimpleColour())
 -          {
 -            FeatureTypeSettings fc = new FeatureTypeSettings(me.fr, type);
 -            fc.addActionListener(this);
 -          }
 -          else
 -          {
 -            // bring up simple color chooser
 -            colorChooser = new JColorChooser();
 -            String title = MessageManager
 -                    .getString("label.select_colour");
 -            JDialog dialog = JColorChooser.createDialog(me,
 -                    title, true, // modal
 -                    colorChooser, this, // OK button handler
 -                    null); // no CANCEL button handler
 -            colorChooser.setColor(featureColour.getMaxColour());
 -            dialog.setVisible(true);
 -          }
 -        }
 -        else
 -        {
 -          if (e.getSource() instanceof FeatureTypeSettings)
 -          {
 -            /*
 -             * update after OK in feature colour dialog; the updated
 -             * colour will have already been set in the FeatureRenderer
 -             */
 -            FeatureColourI fci = fr.getFeatureColours().get(type);
 -            table.setValueAt(fci, rowSelected, 1);
 -            table.validate();
 -          }
 -          else
 -          {
 -            // probably the color chooser!
 -            table.setValueAt(new FeatureColour(colorChooser.getColor()),
 -                    rowSelected, 1);
 -            table.validate();
 -            me.updateFeatureRenderer(
 -                    ((FeatureTableModel) table.getModel()).getData(),
 -                    false);
 -          }
 -        }
 -      }
 -
 -    });
 -
      JMenuItem selCols = new JMenuItem(
              MessageManager.getString("label.select_columns_containing"));
      selCols.addActionListener(new ActionListener()
        InputStreamReader in = new InputStreamReader(
                new FileInputStream(file), "UTF-8");
  
 -      JalviewUserColours jucs = JalviewUserColours.unmarshal(in);
 +      JAXBContext jc = JAXBContext
 +              .newInstance("jalview.xml.binding.jalview");
 +      javax.xml.bind.Unmarshaller um = jc.createUnmarshaller();
 +      XMLStreamReader streamReader = XMLInputFactory.newInstance()
 +              .createXMLStreamReader(in);
 +      JAXBElement<JalviewUserColours> jbe = um.unmarshal(streamReader,
 +              JalviewUserColours.class);
 +      JalviewUserColours jucs = jbe.getValue();
 +
 +      // JalviewUserColours jucs = JalviewUserColours.unmarshal(in);
  
        /*
         * load feature colours
         */
 -      for (int i = jucs.getColourCount() - 1; i >= 0; i--)
 +      for (int i = jucs.getColour().size() - 1; i >= 0; i--)
        {
 -        jalview.schemabinding.version2.Colour newcol = jucs.getColour(i);
 -        FeatureColourI colour = Jalview2XML.unmarshalColour(newcol);
 +        Colour newcol = jucs.getColour().get(i);
 +        FeatureColourI colour = jalview.project.Jalview2XML
 +                .parseColour(newcol);
          fr.setColour(newcol.getName(), colour);
 -        fr.setOrder(newcol.getName(), i / (float) jucs.getColourCount());
 +        fr.setOrder(newcol.getName(), i / (float) jucs.getColour().size());
        }
  
        /*
         * load feature filters; loaded filters will replace any that are
         * currently defined, other defined filters are left unchanged 
         */
 -      for (int i = 0; i < jucs.getFilterCount(); i++)
 +      for (int i = 0; i < jucs.getFilter().size(); i++)
        {
 -        jalview.schemabinding.version2.Filter filterModel = jucs
 -                .getFilter(i);
 +        Filter filterModel = jucs.getFilter().get(i);
          String featureType = filterModel.getFeatureType();
 -        FeatureMatcherSetI filter = Jalview2XML.unmarshalFilter(featureType,
 -                filterModel.getMatcherSet());
 +        FeatureMatcherSetI filter = jalview.project.Jalview2XML
 +                .parseFilter(featureType, filterModel.getMatcherSet());
          if (!filter.isEmpty())
          {
            fr.setFeatureFilter(featureType, filter);
        for (String featureType : sortedTypes)
        {
          FeatureColourI fcol = fr.getFeatureStyle(featureType);
 -        jalview.schemabinding.version2.Colour col = Jalview2XML.marshalColour(
 -                featureType, fcol);
 -        ucs.addColour(col);
 +        Colour col = jalview.project.Jalview2XML.marshalColour(featureType,
 +                fcol);
 +        ucs.getColour().add(col);
        }
  
        /*
          {
            Iterator<FeatureMatcherI> iterator = filter.getMatchers().iterator();
            FeatureMatcherI firstMatcher = iterator.next();
 -          MatcherSet ms = Jalview2XML.marshalFilter(firstMatcher, iterator,
 +          jalview.xml.binding.jalview.FeatureMatcherSet ms = jalview.project.Jalview2XML
 +                  .marshalFilter(firstMatcher, iterator,
                    filter.isAnded());
            Filter filterModel = new Filter();
            filterModel.setFeatureType(featureType);
            filterModel.setMatcherSet(ms);
 -          ucs.addFilter(filterModel);
 +          ucs.getFilter().add(filterModel);
          }
        }
 +      JAXBContext jaxbContext = JAXBContext
 +              .newInstance(JalviewUserColours.class);
 +      Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
 +      jaxbMarshaller.marshal(
 +              new ObjectFactory().createJalviewUserColours(ucs), out);
  
 -      ucs.marshal(out);
 +      // jaxbMarshaller.marshal(object, pout);
 +      // marshaller.marshal(object);
 +      out.flush();
 +
 +      // ucs.marshal(out);
        out.close();
      } catch (Exception ex)
      {
      private String[] columnNames = {
          MessageManager.getString("label.feature_type"),
          MessageManager.getString("action.colour"),
 -        MessageManager.getString("label.filter"),
 +        MessageManager.getString("label.configuration"),
          MessageManager.getString("label.show") };
  
      private Object[][] data;
          {
            // bring up graduated chooser.
            chooser = new FeatureTypeSettings(me.fr, type);
 -          chooser.setRequestFocusEnabled(true);
 -          chooser.requestFocus();
 +          /**
 +           * @j2sNative
 +           */
 +          {
 +            chooser.setRequestFocusEnabled(true);
 +            chooser.requestFocus();
 +          }
            chooser.addActionListener(this);
 -          chooser.showTab(true);
 +          // Make the renderer reappear.
 +          fireEditingStopped();
          }
 -        // Make the renderer reappear.
 -        fireEditingStopped();
 -
        }
        else
        {
                    chooser.getWidth(), chooser.getHeight());
            chooser.validate();
          }
 -        chooser.showTab(false);
          fireEditingStopped();
        }
        else if (e.getSource() instanceof Component)