xmlpipedb-developer Mailing List for XMLPipeDB (Page 9)
Brought to you by:
kdahlquist,
zugzugglug
You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(16) |
Sep
|
Oct
(9) |
Nov
(3) |
Dec
(6) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(2) |
Feb
(8) |
Mar
|
Apr
(22) |
May
(1) |
Jun
|
Jul
|
Aug
(3) |
Sep
(32) |
Oct
(2) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
(60) |
Mar
(42) |
Apr
(35) |
May
(17) |
Jun
(2) |
Jul
(23) |
Aug
(72) |
Sep
(15) |
Oct
(10) |
Nov
(14) |
Dec
(4) |
2012 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(11) |
Dec
|
2014 |
Jan
(1) |
Feb
(12) |
Mar
(14) |
Apr
(8) |
May
|
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(5) |
Oct
(6) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
(5) |
Mar
(2) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: John D. N. D. <do...@lm...> - 2011-07-28 04:41:36
|
Greetings, 3pm Thursday won't work for me unfortunately. How about 9am Friday? I can't stay too long even then but it will still be better than not talking at all. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 27, 2011, at 7:42 PM, Richard Brous <rbr...@gm...> wrote: > Hi all, > > Sorry to fall out of touch but with finals and papers due this week and and my mother in law back in the hospital, I'm about at my wits end. > > That said, I was wondering if we could move our con call to tomorrow afternoon if possible instead of 9am? ... Say 3pm 'ish? I don't want to miss it as I would like to discuss a few things but I just can't make it at 9am and then rushing to a 10am final exam. > > Sorry for the late notice but I hope you both understand... smc classes will be over tomorrow and I can focus much, much more on this afterwards. > > Richard > > On Wed, Jul 20, 2011 at 10:38 PM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > Congratulations! Welcome to the world of Swing GUI programming :) It has its share of tics and idiosyncrasies, but with some practice one gets the hang of it. > > I've reviewed your new code and have interspersed commentary in the context of your notes below. We don't have a lot of time tomorrow, so perhaps pick and choose the ones that you feel will benefit the most from synchronous discussion. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Jul 20, 2011, at 9:22 PM, Richard Brous wrote: > > > Hallelujah!!! - a list box with multiple species of which any combination can be selected now exists!!! Thanks Dondi!! (see attachment) > > > > > > OK, had a chance to review the code corrections, other comments and think on the next steps surrounding the selection of multiple species and their dynamic text updating. Here is where I am at the moment: > > > > A. Dondis corrections/additions to my last submission > > > > 1. Creating a private class called SpeciesListModel which extended AbstractListModel > > > > As soon as I saw your code I realized that I had sort of coded it backwards, thinking about implementing an interface instead of just extending the abstract object and adding methods... duh. My face turned a bit red on that one. > > > > The idea still of creating a list model to manage the entries in the JList still seems a bit complicated and foreign but I guess the more I work with the java ui stuff, the better I will become with it. > > Yes, it can be unwieldy in simple cases (like this one) and can sometimes result in repetitive code. However, it is very flexible and truly encapsulates the list data from the list presentation (for example, with this approach, you can even create a ListModel that does not have a data structure behind it; or perhaps one that queries for the list contents dynamically). > > > Additionally I did attempt to add a new method under this class called clearSpeciesProfiles. This was meant to clear the JList of all species found each time the export1 panel was opened instead of aggregating the species in the list. It doesn't seem to be working though so I commented it out for now. Please let me know if I'm adding this functionality in the wrong way and/or in the incorrect location. > > A couple of notes on this one. Observe how setSpeciesProfile *replaces* the list of species profiles returned by the list model, and does not add to it. Thus, I do not think that the duplication occurs at this level --- I believe it occurs at the UniProtDatabaseProfile.checkRequirements method. Follow the code from GenMAPPBuilder.doExportToGenMAPP and see if you spot the issue. Remember that the symptom occurs when one tries to export more than once. Thus, see what the code does to the relevant data structures when GenMAPPBuilder.doExportToGenMAPP is called more than once. > > > 2. SpringLayout > > > > I took a look at the website and got a feel for how to adjust panel component locations. Seems like I can use those commands to make the adjustment to the species label that you mentioned in comments. > > > > Interesting how the leftPanel uses SpringUtilities.makeCompactGrid while the rightPanel uses GridLayout... didn't realize you could combine both kinds on content panel. > > Yes, this is the power and complexity of Swing layout management --- you can nest them as much as you like, and mix and match them as much as you like. Powerful and flexible, yes; potentially complicated, yes also. > > > B. further UI enhancements: > > > > 1. I dug into export1 design in regard to the text description areas of both the Database and Species profiles. They are both JTextAreas(3, 15) where 3 denotes rows and 15 denotes columns. I changed both fields to be editable and compiled just so I could see how big each text field really is. I was able to type in 23 characters across and 7 rows downward until the next row was cutoff by the bottom edge of the box. I also changed the row and column arguments to JTextAreas(2, 15) and JTextAreas(3, 10) and recompiled but didn't see any change in the volume of text I could enter... must not understand it completely... are the arguments only to manage components placed within the textArea maybe while loose text just starts top left and word/line wraps? > > > > My reason for fooling with this was to see what would happen of course but really I had the idea that I would shrink the size of the database profileDescriptiontextArea to allow for a larger speciesDescriptionTextArea below it. Also I had been thinking of how to represent the species and its associated custom or default species profile in a way that made the most sense. The species names are pretty long so was going to suggest to simply use taxon id, profile type (custom or default) since the user could cross reference in the JList just to the left. > > This issue rests in some of the tricks behind Swing layout management. Unlike conventional GUI design, where components are given fixed, absolute coordinates and sizes, Swing tries to "compute" the layout dynamically, based on a combination of rules, "preferred sizes," and min/max sizes. The exact algorithm for determining the final layout is placed in the LayoutManager class. The row/column settings given to JTextArea typically pertain to *preferred* sizing, not final sizing. As in, the JTextArea "asks" its containing panel that "if possible, I prefer to have this many rows and columns." The rule of thumb is that a layout manager tries to give its components their preferred sizes *or greater*, if available (the idea being that most UI components wouldn't mind getting more space than they originally asked for). > > To exercise greater control over this, you'll need to get a better handle on the behavior or the various layout managers. Certain layout managers *do* cap a UI component's size to no greater than its preference. This takes some practice, however, and some familiarity with the layout manager "zoo." My suggestion: let's leave well enough alone here for now, get the functionality done first, then come back to this later. > > > 2. Dynamic insertion of desired species info into the speciesDescriptionTextArea > > > > In thinking of how to solve this I went back to code I had commented out in my last submission - the protected method which detected a change in species choice occurred within the JComboBox: speciesProfileSelected( Object selectedItem ) { > > Yes, the fundamental change that you are making now is that *more than one species profile may be active*. What you need to do, then, is to maintain the selected species profiles as a collection, and not as a single value. Then, all the code that used to assume that only a species profile gets selected need to be modified so that they can accommodate a collection of species profiles. Cases in point... > > > I had been struggling with what that method really should be doing now that we have a JList where multiple species could be selected. And after some review and then walking away from it for a few, I think it only needs to handle two things: > > a. ensure that all the selected species are added to the export dataset. (We then modify the export process itself to account for and properly process multiple species.) > > ...This is the fundamental change that dominoes through the rest of the export code. Instead of holding on to a single selected species profile, you need to maintain a collection of them. Also... > > > b. use the selected indices to populate/depopulate the speciesDescriptionTextArea dynamically as a selection/deselection is made within the JList. > > I have some ideas but would like to talk them through on the call tomorrow. I'll also submit my latest pass on the code for review. > > ...This part requires some rewriting so that the generated descriptive text can accommodate a collection of species profiles. The message generation thus gets a little more complicated. But it's just additional logic, iterating through the species profiles and incrementally appending a message string until you've gone through all of the selected profiles. e.g., "This export will use a customized profile for S. typhimurium, a general-purpose profile for B. anthracis, and a customized species profile for H. pylori." Hope you can see how that string can be computed via iteration through a species profile collection. > > OK, that would be my 2 cents...let's see what needs live discussion tomorrow morning. > > > Richard > > > > > > > > On Wed, Jul 20, 2011 at 9:00 AM, John David N. Dionisio <do...@lm...> wrote: > > Sounds good, talk to everyone Thursday 9am then :) > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Loyola Marymount University > > > > > > On Jul 20, 2011, at 8:47 AM, Kam Dahlquist <kda...@lm...> wrote: > > > > > Hi, > > > > > > I'm OK for Thursday, too. Sorry, I don't generally check my e-mail > > > at night. Hope everything is OK. In the future, don't hesitate to > > > move things if I'm not responding, I'll catch up eventually :) > > > > > > Best, > > > Kam > > > > > > At 08:29 AM 7/20/2011, John David N. Dionisio wrote: > > >> OK, acknowledged. Take care. > > >> > > >> John David N. Dionisio, PhD > > >> Associate Professor, Computer Science > > >> Loyola Marymount University > > >> > > >> > > >> > > >> On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: > > >> > > >>> OK, I am forced to push to tomorrow now because our nanny is > > >> stuck in traffic, christina is back at the hospital and I have to > > >> drive my boys to MDR for their camp. > > >>> > > >>> I'm sorry this is so crazy but all is upside down atm. > > >>> > > >>> I already have a bunch of questions which I will lay out via > > >> email since they are more high level than can be placed in code > > >> comments... at least I think so atm. > > >>> > > >>> Either way come hell or high-water I'll get another iteration on > > >> this prior to a call. > > >>> > > >>> rb > > >>> > > >>> On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio > > >> <do...@lm...> wrote: > > >>> Hi Rich, > > >>> > > >>> Sorry to hear about your mother-in-law. Hospital wait states are > > >> never fun. > > >>> > > >>> I can do Thursday morning at 9am if needed. Let's watch the > > >> e-mail in the morning to see if Kam can do that too; if so, then > > >> Thursday it is, but if not, then we can still push for Wednesday 9am. > > >>> > > >>> John David N. Dionisio, PhD > > >>> Associate Professor, Computer Science > > >>> Loyola Marymount University > > >>> > > >>> > > >>> > > >>> On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > > >>> > > >>>> ok, can't get a break... sitting in the ER after admitting my > > >> mother in law at St. Johns in Santa Monica. We are waiting to get > > >> her a bed but not sure how long it will take. > > >>>> > > >>>> Luckily I have my laptop with me so I was able to scan the new > > >> code with all the Dondi comments and compile a build which runs. I > > >> will review Dondi's changes as best I can from here but likely > > >> won't be able to do much with it by our call tomorrow. > > >>>> > > >>>> I'm happy to push our call to Thursday morning instead of > > >> tomorrow to allow more time... but it is late so unless I hear > > >> otherwise, tomorrow at 9am is still a go. > > >>>> > > >>>> Richard > > >>>> > > >>>> On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous > > >> <rbr...@gm...> wrote: > > >>>> Thanks will review later this afternoon. Sorry got hung up on > > >> this but continuing forward comments in code should speed this way up. > > >>>> > > >>>> Rb > > >>>> > > >>>> Sent from my iPhone > > >>>> > > >>>> On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" > > >> <do...@lm...> wrote: > > >>>> > > >>>>> Greetings, > > >>>>> > > >>>>> OK, my responses are committed. As noted in my "Dondi -" > > >> comments, you were fairly close. The main miss was how > > >> AbstractListModel was to be used. Give it a gander and holler if > > >> anything else remains unclear. > > >>>>> > > >>>>> At this point, you'll need to start managing what should > > >> happen as the user selects/deselects species. You'll also want > > >> that little informational panel on the right that summarizes (for > > >> tech types) whether the selected species will be using a customized > > >> species profile or the generic one. > > >>>>> > > >>>>> Carry on, see how this goes. :) > > >>>>> > > >>>>> John David N. Dionisio, PhD > > >>>>> Associate Professor, Computer Science > > >>>>> Loyola Marymount University > > >>>>> > > >>>>> > > >>>>> On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > >>>>> > > >>>>>> Ok , took the code as far as I could and submitted export 1 > > >> - unfortunately broken code even though I made a point not to by > > >> commenting out unfinished blocks. Take a look at the commit comments for info. > > >>>>>> > > >>>>>> I look forward to your comments which I'm sure will help > > >> straighten this out! > > >>>>>> > > >>>>>> Rb > > >>>>>> > > >>>>>> Sent from my iPhone > > >>>>>> > > >>>>>> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" > > >> <do...@lm...> wrote: > > >>>>>> > > >>>>>>> Hi there, > > >>>>>>> > > >>>>>>> A code-oriented session is OK with me, though this > > >> particular question I can take a stab at via e-mail. > > >>>>>>> > > >>>>>>> The trick with full control of a JList is to implement its > > >> model (a ListModel). For this, I usually create a subclass of > > >> AbstractListModel and implement the missing methods. This > > >> AbstractListModel subclass should be able to see the list of > > >> species found. Then, the implementations of its missing methods > > >> would be based on that list of species. > > >>>>>>> > > >>>>>>> With this ListModel class in hand, keeping the JList up to > > >> date is a matter of instantiating the JList with this model: > > >>>>>>> > > >>>>>>> SpeciesListModel speciesListModel = new SpeciesListModel(); > > >>>>>>> speciesCheckList = new JList(speciesListModel); > > >>>>>>> > > >>>>>>> If the species list changes, have the species list model > > >> fire the appropriate list change event (the JavaDoc API has a bunch > > >> of fire* methods). To keep things simple, there is a "full update" > > >> event which just says "rebuild the entire JList." That one should > > >> be OK. There are finer-grained ones like "something got inserted" > > >> and "something got removed," but that really is more for optimization purposes. > > >>>>>>> > > >>>>>>> As for the text display, the simplest approach is to > > >> implement the toString method of the SpeciesProfile class so that > > >> they return something that is appropriate for a JList. Sometimes > > >> that is too limiting though. If you want greater flexibility, you > > >> will want to implement a ListCellRenderer. There is a class called > > >> DefaultListCellRenderer that you can extend. Typically the > > >> subclass would call the superclass's method, which returns a > > >> JLabel. You can then change the content of the JLabel according to > > >> the list item that you are trying to display. > > >>>>>>> > > >>>>>>> See if these leads are enough to go on. If not, I can talk > > >> you through them more during the call. > > >>>>>>> > > >>>>>>> John David N. Dionisio, PhD > > >>>>>>> Associate Professor, Computer Science > > >>>>>>> Loyola Marymount University > > >>>>>>> > > >>>>>>> > > >>>>>>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > > >>>>>>> > > >>>>>>>> Update for tomorrow 7/13/11: > > >>>>>>>> > > >>>>>>>> Clear on what I need to do but can't seem to figure out a > > >> way to do it. I think the best use of our time tomorrow is to make > > >> it a code discussion session (giving Dr. Dahlquist the opportunity > > >> to bow out if so inclined) > > >>>>>>>> > > >>>>>>>> 1. In regard to the JList, I have been working on the best > > >> way to implement it but am getting stuck on how to populate it and > > >> where to do so in the code. > > >>>>>>>> > > >>>>>>>> I'm currently working in ExportPanel1.java and have done > > >> the following so far: > > >>>>>>>> > > >>>>>>>> imported JList; > > >>>>>>>> imported javax.swing.event.*; > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> public class ExportPanel1 extends JPanel { > > >>>>>>>> added: private JList speciesCheckList; > > >>>>>>>> > > >>>>>>>> private JPanel getContentPanel () { > > >>>>>>>> underneath the species combo box entry // species | > > >> JComboBox | speciesFound |JLabel | Description | ... > > >>>>>>>> > > >>>>>>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > > >>>>>>>> > > >>>>>>>> // registered the listeners > > >>>>>>>> speciesCheckList.addListSelectionListener ( new > > >> ListSelectionListener () { > > >>>>>>>> // handle list selection > > >>>>>>>> public void valueChanged ( ListSelectionEvent e ) { > > >>>>>>>> // get selected indices > > >>>>>>>> int [] indices = speciesCheckList.getSelectedIndices (); > > >>>>>>>> } > > >>>>>>>> }); > > >>>>>>>> > > >>>>>>>> added: //leftPanel.add ( speciesComboBox ); > > >>>>>>>> leftPanel.add ( speciesCheckList ); > > >>>>>>>> > > >>>>>>>> The real issue here is how to populate the JList... I took > > >> a look at the constructors but can't determine a way to populate it > > >> after instantiation... maybe using abstract class somehow? > > >>>>>>>> > > >>>>>>>> So instead I have been working to add the > > >> speciesProfilesFound [] ArrayList as a constructor argument. Then I > > >> can pre-populate it prior to the contentPanel being > > >> initialized???... or possibly similar to the init() method which > > >> pre-populates the Database profileComboBox? > > >>>>>>>> > > >>>>>>>> Once the initital population of the JList is done we can > > >> modify it for the later methods which dynamically alter content in > > >> databaseProfileSelected() and speciesProfileSelected(). This will > > >> effect the selectedSpeciesProfile() method usage and its getter and setter. > > >>>>>>>> > > >>>>>>>> Also we can then work on the text indication which > > >> dynamically shows the selected species and whether a custom or > > >> generic profile has been associated. > > >>>>>>>> > > >>>>>>>> Dondi - I'm looking forward to your suggestions and assistance!!! > > >>>>>>>> > > >>>>>>>> Richard > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio > > >> <do...@lm...> wrote: > > >>>>>>>> Hi Rich, > > >>>>>>>> > > >>>>>>>> OK, thanks for the discussion setup. We'll work through > > >> this during the call. > > >>>>>>>> > > >>>>>>>> John David N. Dionisio, PhD > > >>>>>>>> Associate Professor, Computer Science > > >>>>>>>> Loyola Marymount University > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > >>>>>>>> > > >>>>>>>>> Update on status: > > >>>>>>>>> > > >>>>>>>>> Over the past two weeks I have spent time doing the following: > > >>>>>>>>> > > >>>>>>>>> 1. Reviewed the taxon id code changes which Don Murphy > > >> coded and were merged to create version 2.0 b64 > > >>>>>>>>> 2. Reviewed the UniprotDatabaseProfile, > > >> UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > > >>>>>>>>> 3. Reviewed and discussed the process by which GenMAPP > > >> matches single taxon ids found in a Postgres db with the known > > >> species profiles. > > >>>>>>>>> > > >>>>>>>>> Current actions: > > >>>>>>>>> > > >>>>>>>>> During the last few days I have started coding in the > > >> ability for the species matching functionality to surface multiple > > >> taxon ids from within a Postgres db. > > >>>>>>>>> > > >>>>>>>>> The process being the following steps: > > >>>>>>>>> > > >>>>>>>>> 1. Grab all the taxon ids from the Postgres db > > >>>>>>>>> The current iteration of the software already does this. > > >> In the checkRequirements method in UniprotDatabaseProfile.java, a > > >> query of the Postgres db acquires all taxon id's and stores them in > > >> ResultSet result variable. > > >>>>>>>>> > > >>>>>>>>> 2. Check to find match between the taxon ids from > > >> Postgres against existing species profiles for known species. > > >>>>>>>>> > > >>>>>>>>> The current iteration compares each taxon id in ResultSet > > >> result variable. > > >>>>>>>>> First taxon id from result: > > >>>>>>>>> If match was found, then that species profile with > > >> associated taxon id was added to the speciesProfilesFound arraylist. > > >>>>>>>>> If no match was found, a generic species profile > > >> associated with the current taxon id was added to the > > >> speciesProfilesFound arraylist. > > >>>>>>>>> > > >>>>>>>>> Next taxon id from result > > >>>>>>>>> If match was found, then that species profile with > > >> associated taxon id was added to the speciesProfilesFound arraylist. > > >>>>>>>>> If no match was found, a generic species profile > > >> associated with the current taxon id was added to the > > >> speciesProfilesFound arraylist. > > >>>>>>>>> > > >>>>>>>>> Repeat until no more taxon ids are found in ResultSet > > >> result variable. > > >>>>>>>>> > > >>>>>>>>> 3. Replace the JComboBox with a JList to allow the user > > >> to choose a selection of multiple species to export. > > >>>>>>>>> > > >>>>>>>>> Use the getSelectedIndices method for JList to determine > > >> which species have been selected for export. > > >>>>>>>>> > > >>>>>>>>> 4. Modify the export process to run a pass for each > > >> species selected to generate a multispecies gdb. > > >>>>>>>>> details to be determined. > > >>>>>>>>> > > >>>>>>>>> > > >> ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> Discussion for tomorrows call: > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> We previously discussed allowing user input to manually > > >> add taxon ids and associate them to the generic profile. > > >>>>>>>>> > > >>>>>>>>> Unless I don't really understand the reasoning behind > > >> this, it seems to me that it is unnecessary. Why would we add a > > >> taxon id during the export process that isn't already in the Postgres data? > > >>>>>>>>> > > >>>>>>>>> The current implementation already captures every taxon > > >> id in speciesProfilesFound regardless if its a known species or > > >> not. So it seems that we don't need to make any modifications in > > >> surfacing taxon ids from a Postgres db. > > >>>>>>>>> > > >>>>>>>>> Then we can go directly to #3 above which I have mostly > > >> coded, but can't seem to figure out how and where to populate the > > >> JList. In reviewing constructor documentation it indicates 4 ways > > >> to instantiate. > > >>>>>>>>> > > >>>>>>>>> My first choice was to create an empty JList [ JList () ] > > >> and populate it later but I don't see a method to do so such as > > >> addItems or something similar. > > >>>>>>>>> > > >>>>>>>>> I then tried to instantiate with speciesProfileFound as > > >> an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) > > >> but can't resolve. > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> Anyway, I look forward to our call at 9am tomorrow. > > >>>>>>>>> > > >>>>>>>>> Richard > > >>>>>>>>> <ATT00001..txt><ATT00002..txt> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >> ------------------------------------------------------------------------------ > > >>>>>>>> All of the data generated in your IT infrastructure is > > >> seriously valuable. > > >>>>>>>> Why? It contains a definitive record of application > > >> performance, security > > >>>>>>>> threats, fraudulent activity, and more. Splunk takes this > > >> data and makes > > >>>>>>>> sense of it. IT sense. And common sense. > > >>>>>>>> http://p.sf.net/sfu/splunk-d2d-c2 > > >>>>>>>> _______________________________________________ > > >>>>>>>> xmlpipedb-developer mailing list > > >>>>>>>> xml...@li... > > >>>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>>>>>> > > >>>>>>>> <ATT00001..txt><ATT00002..txt> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >> ------------------------------------------------------------------------------ > > >>>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > >>>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >>>>>>> Secrets Revealed." This video shows you how to validate your ideas, > > >>>>>>> optimize your ideas and identify your business strategy. > > >>>>>>> http://p.sf.net/sfu/appsumosfdev2dev > > >>>>>>> _______________________________________________ > > >>>>>>> xmlpipedb-developer mailing list > > >>>>>>> xml...@li... > > >>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>>>> > > >>>>>> > > >> ------------------------------------------------------------------------------ > > >>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > >>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >>>>>> Secrets Revealed." This video shows you how to validate your ideas, > > >>>>>> optimize your ideas and identify your business strategy. > > >>>>>> http://p.sf.net/sfu/appsumosfdev2dev > > >>>>>> _______________________________________________ > > >>>>>> xmlpipedb-developer mailing list > > >>>>>> xml...@li... > > >>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>>> > > >>>>> > > >>>>> > > >> ------------------------------------------------------------------------------ > > >>>>> Magic Quadrant for Content-Aware Data Loss Prevention > > >>>>> Research study explores the data loss prevention market. > > >> Includes in-depth > > >>>>> analysis on the changes within the DLP market, and the criteria used to > > >>>>> evaluate the strengths and weaknesses of these DLP solutions. > > >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > >>>>> _______________________________________________ > > >>>>> xmlpipedb-developer mailing list > > >>>>> xml...@li... > > >>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>> > > >>>> <ATT00001..txt><ATT00002..txt> > > >>> > > >>> > > >>> > > >> ------------------------------------------------------------------------------ > > >>> 10 Tips for Better Web Security > > >>> Learn 10 ways to better secure your business today. Topics covered include: > > >>> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > > >>> security Microsoft Exchange, secure Instant Messaging, and much more. > > >>> http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > >>> _______________________________________________ > > >>> xmlpipedb-developer mailing list > > >>> xml...@li... > > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>> > > >>> <ATT00001..txt><ATT00002..txt> > > >> > > >> > > >> ------------------------------------------------------------------------------ > > >> 10 Tips for Better Web Security > > >> Learn 10 ways to better secure your business today. Topics covered include: > > >> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > > >> security Microsoft Exchange, secure Instant Messaging, and much more. > > >> http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > >> _______________________________________________ > > >> xmlpipedb-developer mailing list > > >> xml...@li... > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > > > > ------------------------------------------------------------------------------ > > > 10 Tips for Better Web Security > > > Learn 10 ways to better secure your business today. Topics covered include: > > > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > > > security Microsoft Exchange, secure Instant Messaging, and much more. > > > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > > _______________________________________________ > > > xmlpipedb-developer mailing list > > > xml...@li... > > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > ------------------------------------------------------------------------------ > > 10 Tips for Better Web Security > > Learn 10 ways to better secure your business today. Topics covered include: > > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > > security Microsoft Exchange, secure Instant Messaging, and much more. > > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <export1-crop.jpg><ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > 5 Ways to Improve & Secure Unified Communications > Unified Communications promises greater efficiencies for business. UC can > improve internal communications as well as offer faster, more efficient ways > to interact with customers and streamline customer service. Learn more! > http://www.accelacomm.com/jaw/sfnl/114/51426253/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > ------------------------------------------------------------------------------ > Got Input? Slashdot Needs You. > Take our quick survey online. Come on, we don't ask for help often. > Plus, you'll get a chance to win $100 to spend on ThinkGeek. > http://p.sf.net/sfu/slashdot-survey > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: Richard B. <rbr...@gm...> - 2011-07-28 02:42:53
|
Hi all, Sorry to fall out of touch but with finals and papers due this week and and my mother in law back in the hospital, I'm about at my wits end. That said, I was wondering if we could move our con call to tomorrow afternoon if possible instead of 9am? ... Say 3pm 'ish? I don't want to miss it as I would like to discuss a few things but I just can't make it at 9am and then rushing to a 10am final exam. Sorry for the late notice but I hope you both understand... smc classes will be over tomorrow and I can focus much, much more on this afterwards. Richard On Wed, Jul 20, 2011 at 10:38 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > Congratulations! Welcome to the world of Swing GUI programming :) It has > its share of tics and idiosyncrasies, but with some practice one gets the > hang of it. > > I've reviewed your new code and have interspersed commentary in the context > of your notes below. We don't have a lot of time tomorrow, so perhaps pick > and choose the ones that you feel will benefit the most from synchronous > discussion. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Jul 20, 2011, at 9:22 PM, Richard Brous wrote: > > > Hallelujah!!! - a list box with multiple species of which any combination > can be selected now exists!!! Thanks Dondi!! (see attachment) > > > > > > OK, had a chance to review the code corrections, other comments and think > on the next steps surrounding the selection of multiple species and their > dynamic text updating. Here is where I am at the moment: > > > > A. Dondis corrections/additions to my last submission > > > > 1. Creating a private class called SpeciesListModel which extended > AbstractListModel > > > > As soon as I saw your code I realized that I had sort of coded it > backwards, thinking about implementing an interface instead of just > extending the abstract object and adding methods... duh. My face turned a > bit red on that one. > > > > The idea still of creating a list model to manage the entries in the > JList still seems a bit complicated and foreign but I guess the more I work > with the java ui stuff, the better I will become with it. > > Yes, it can be unwieldy in simple cases (like this one) and can sometimes > result in repetitive code. However, it is very flexible and truly > encapsulates the list data from the list presentation (for example, with > this approach, you can even create a ListModel that does not have a data > structure behind it; or perhaps one that queries for the list contents > dynamically). > > > Additionally I did attempt to add a new method under this class called > clearSpeciesProfiles. This was meant to clear the JList of all species found > each time the export1 panel was opened instead of aggregating the species in > the list. It doesn't seem to be working though so I commented it out for > now. Please let me know if I'm adding this functionality in the wrong way > and/or in the incorrect location. > > A couple of notes on this one. Observe how setSpeciesProfile *replaces* > the list of species profiles returned by the list model, and does not add to > it. Thus, I do not think that the duplication occurs at this level --- I > believe it occurs at the UniProtDatabaseProfile.checkRequirements method. > Follow the code from GenMAPPBuilder.doExportToGenMAPP and see if you spot > the issue. Remember that the symptom occurs when one tries to export more > than once. Thus, see what the code does to the relevant data structures > when GenMAPPBuilder.doExportToGenMAPP is called more than once. > > > 2. SpringLayout > > > > I took a look at the website and got a feel for how to adjust panel > component locations. Seems like I can use those commands to make the > adjustment to the species label that you mentioned in comments. > > > > Interesting how the leftPanel uses SpringUtilities.makeCompactGrid while > the rightPanel uses GridLayout... didn't realize you could combine both > kinds on content panel. > > Yes, this is the power and complexity of Swing layout management --- you > can nest them as much as you like, and mix and match them as much as you > like. Powerful and flexible, yes; potentially complicated, yes also. > > > B. further UI enhancements: > > > > 1. I dug into export1 design in regard to the text description areas of > both the Database and Species profiles. They are both JTextAreas(3, 15) > where 3 denotes rows and 15 denotes columns. I changed both fields to be > editable and compiled just so I could see how big each text field really is. > I was able to type in 23 characters across and 7 rows downward until the > next row was cutoff by the bottom edge of the box. I also changed the row > and column arguments to JTextAreas(2, 15) and JTextAreas(3, 10) and > recompiled but didn't see any change in the volume of text I could enter... > must not understand it completely... are the arguments only to manage > components placed within the textArea maybe while loose text just starts top > left and word/line wraps? > > > > My reason for fooling with this was to see what would happen of course > but really I had the idea that I would shrink the size of the database > profileDescriptiontextArea to allow for a larger speciesDescriptionTextArea > below it. Also I had been thinking of how to represent the species and its > associated custom or default species profile in a way that made the most > sense. The species names are pretty long so was going to suggest to simply > use taxon id, profile type (custom or default) since the user could cross > reference in the JList just to the left. > > This issue rests in some of the tricks behind Swing layout management. > Unlike conventional GUI design, where components are given fixed, absolute > coordinates and sizes, Swing tries to "compute" the layout dynamically, > based on a combination of rules, "preferred sizes," and min/max sizes. The > exact algorithm for determining the final layout is placed in the > LayoutManager class. The row/column settings given to JTextArea typically > pertain to *preferred* sizing, not final sizing. As in, the JTextArea > "asks" its containing panel that "if possible, I prefer to have this many > rows and columns." The rule of thumb is that a layout manager tries to give > its components their preferred sizes *or greater*, if available (the idea > being that most UI components wouldn't mind getting more space than they > originally asked for). > > To exercise greater control over this, you'll need to get a better handle > on the behavior or the various layout managers. Certain layout managers > *do* cap a UI component's size to no greater than its preference. This > takes some practice, however, and some familiarity with the layout manager > "zoo." My suggestion: let's leave well enough alone here for now, get the > functionality done first, then come back to this later. > > > 2. Dynamic insertion of desired species info into the > speciesDescriptionTextArea > > > > In thinking of how to solve this I went back to code I had commented out > in my last submission - the protected method which detected a change in > species choice occurred within the JComboBox: speciesProfileSelected( Object > selectedItem ) { > > Yes, the fundamental change that you are making now is that *more than one > species profile may be active*. What you need to do, then, is to maintain > the selected species profiles as a collection, and not as a single value. > Then, all the code that used to assume that only a species profile gets > selected need to be modified so that they can accommodate a collection of > species profiles. Cases in point... > > > I had been struggling with what that method really should be doing now > that we have a JList where multiple species could be selected. And after > some review and then walking away from it for a few, I think it only needs > to handle two things: > > a. ensure that all the selected species are added to the export dataset. > (We then modify the export process itself to account for and properly > process multiple species.) > > ...This is the fundamental change that dominoes through the rest of the > export code. Instead of holding on to a single selected species profile, > you need to maintain a collection of them. Also... > > > b. use the selected indices to populate/depopulate the > speciesDescriptionTextArea dynamically as a selection/deselection is made > within the JList. > > I have some ideas but would like to talk them through on the call > tomorrow. I'll also submit my latest pass on the code for review. > > ...This part requires some rewriting so that the generated descriptive text > can accommodate a collection of species profiles. The message generation > thus gets a little more complicated. But it's just additional logic, > iterating through the species profiles and incrementally appending a message > string until you've gone through all of the selected profiles. e.g., "This > export will use a customized profile for S. typhimurium, a general-purpose > profile for B. anthracis, and a customized species profile for H. pylori." > Hope you can see how that string can be computed via iteration through a > species profile collection. > > OK, that would be my 2 cents...let's see what needs live discussion > tomorrow morning. > > > Richard > > > > > > > > On Wed, Jul 20, 2011 at 9:00 AM, John David N. Dionisio <do...@lm...> > wrote: > > Sounds good, talk to everyone Thursday 9am then :) > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Loyola Marymount University > > > > > > On Jul 20, 2011, at 8:47 AM, Kam Dahlquist <kda...@lm...> wrote: > > > > > Hi, > > > > > > I'm OK for Thursday, too. Sorry, I don't generally check my e-mail > > > at night. Hope everything is OK. In the future, don't hesitate to > > > move things if I'm not responding, I'll catch up eventually :) > > > > > > Best, > > > Kam > > > > > > At 08:29 AM 7/20/2011, John David N. Dionisio wrote: > > >> OK, acknowledged. Take care. > > >> > > >> John David N. Dionisio, PhD > > >> Associate Professor, Computer Science > > >> Loyola Marymount University > > >> > > >> > > >> > > >> On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: > > >> > > >>> OK, I am forced to push to tomorrow now because our nanny is > > >> stuck in traffic, christina is back at the hospital and I have to > > >> drive my boys to MDR for their camp. > > >>> > > >>> I'm sorry this is so crazy but all is upside down atm. > > >>> > > >>> I already have a bunch of questions which I will lay out via > > >> email since they are more high level than can be placed in code > > >> comments... at least I think so atm. > > >>> > > >>> Either way come hell or high-water I'll get another iteration on > > >> this prior to a call. > > >>> > > >>> rb > > >>> > > >>> On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio > > >> <do...@lm...> wrote: > > >>> Hi Rich, > > >>> > > >>> Sorry to hear about your mother-in-law. Hospital wait states are > > >> never fun. > > >>> > > >>> I can do Thursday morning at 9am if needed. Let's watch the > > >> e-mail in the morning to see if Kam can do that too; if so, then > > >> Thursday it is, but if not, then we can still push for Wednesday 9am. > > >>> > > >>> John David N. Dionisio, PhD > > >>> Associate Professor, Computer Science > > >>> Loyola Marymount University > > >>> > > >>> > > >>> > > >>> On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > > >>> > > >>>> ok, can't get a break... sitting in the ER after admitting my > > >> mother in law at St. Johns in Santa Monica. We are waiting to get > > >> her a bed but not sure how long it will take. > > >>>> > > >>>> Luckily I have my laptop with me so I was able to scan the new > > >> code with all the Dondi comments and compile a build which runs. I > > >> will review Dondi's changes as best I can from here but likely > > >> won't be able to do much with it by our call tomorrow. > > >>>> > > >>>> I'm happy to push our call to Thursday morning instead of > > >> tomorrow to allow more time... but it is late so unless I hear > > >> otherwise, tomorrow at 9am is still a go. > > >>>> > > >>>> Richard > > >>>> > > >>>> On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous > > >> <rbr...@gm...> wrote: > > >>>> Thanks will review later this afternoon. Sorry got hung up on > > >> this but continuing forward comments in code should speed this way up. > > >>>> > > >>>> Rb > > >>>> > > >>>> Sent from my iPhone > > >>>> > > >>>> On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" > > >> <do...@lm...> wrote: > > >>>> > > >>>>> Greetings, > > >>>>> > > >>>>> OK, my responses are committed. As noted in my "Dondi -" > > >> comments, you were fairly close. The main miss was how > > >> AbstractListModel was to be used. Give it a gander and holler if > > >> anything else remains unclear. > > >>>>> > > >>>>> At this point, you'll need to start managing what should > > >> happen as the user selects/deselects species. You'll also want > > >> that little informational panel on the right that summarizes (for > > >> tech types) whether the selected species will be using a customized > > >> species profile or the generic one. > > >>>>> > > >>>>> Carry on, see how this goes. :) > > >>>>> > > >>>>> John David N. Dionisio, PhD > > >>>>> Associate Professor, Computer Science > > >>>>> Loyola Marymount University > > >>>>> > > >>>>> > > >>>>> On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > >>>>> > > >>>>>> Ok , took the code as far as I could and submitted export 1 > > >> - unfortunately broken code even though I made a point not to by > > >> commenting out unfinished blocks. Take a look at the commit comments > for info. > > >>>>>> > > >>>>>> I look forward to your comments which I'm sure will help > > >> straighten this out! > > >>>>>> > > >>>>>> Rb > > >>>>>> > > >>>>>> Sent from my iPhone > > >>>>>> > > >>>>>> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" > > >> <do...@lm...> wrote: > > >>>>>> > > >>>>>>> Hi there, > > >>>>>>> > > >>>>>>> A code-oriented session is OK with me, though this > > >> particular question I can take a stab at via e-mail. > > >>>>>>> > > >>>>>>> The trick with full control of a JList is to implement its > > >> model (a ListModel). For this, I usually create a subclass of > > >> AbstractListModel and implement the missing methods. This > > >> AbstractListModel subclass should be able to see the list of > > >> species found. Then, the implementations of its missing methods > > >> would be based on that list of species. > > >>>>>>> > > >>>>>>> With this ListModel class in hand, keeping the JList up to > > >> date is a matter of instantiating the JList with this model: > > >>>>>>> > > >>>>>>> SpeciesListModel speciesListModel = new SpeciesListModel(); > > >>>>>>> speciesCheckList = new JList(speciesListModel); > > >>>>>>> > > >>>>>>> If the species list changes, have the species list model > > >> fire the appropriate list change event (the JavaDoc API has a bunch > > >> of fire* methods). To keep things simple, there is a "full update" > > >> event which just says "rebuild the entire JList." That one should > > >> be OK. There are finer-grained ones like "something got inserted" > > >> and "something got removed," but that really is more for optimization > purposes. > > >>>>>>> > > >>>>>>> As for the text display, the simplest approach is to > > >> implement the toString method of the SpeciesProfile class so that > > >> they return something that is appropriate for a JList. Sometimes > > >> that is too limiting though. If you want greater flexibility, you > > >> will want to implement a ListCellRenderer. There is a class called > > >> DefaultListCellRenderer that you can extend. Typically the > > >> subclass would call the superclass's method, which returns a > > >> JLabel. You can then change the content of the JLabel according to > > >> the list item that you are trying to display. > > >>>>>>> > > >>>>>>> See if these leads are enough to go on. If not, I can talk > > >> you through them more during the call. > > >>>>>>> > > >>>>>>> John David N. Dionisio, PhD > > >>>>>>> Associate Professor, Computer Science > > >>>>>>> Loyola Marymount University > > >>>>>>> > > >>>>>>> > > >>>>>>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > > >>>>>>> > > >>>>>>>> Update for tomorrow 7/13/11: > > >>>>>>>> > > >>>>>>>> Clear on what I need to do but can't seem to figure out a > > >> way to do it. I think the best use of our time tomorrow is to make > > >> it a code discussion session (giving Dr. Dahlquist the opportunity > > >> to bow out if so inclined) > > >>>>>>>> > > >>>>>>>> 1. In regard to the JList, I have been working on the best > > >> way to implement it but am getting stuck on how to populate it and > > >> where to do so in the code. > > >>>>>>>> > > >>>>>>>> I'm currently working in ExportPanel1.java and have done > > >> the following so far: > > >>>>>>>> > > >>>>>>>> imported JList; > > >>>>>>>> imported javax.swing.event.*; > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> public class ExportPanel1 extends JPanel { > > >>>>>>>> added: private JList speciesCheckList; > > >>>>>>>> > > >>>>>>>> private JPanel getContentPanel () { > > >>>>>>>> underneath the species combo box entry // species | > > >> JComboBox | speciesFound |JLabel | Description | ... > > >>>>>>>> > > >>>>>>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > > >>>>>>>> > > >>>>>>>> // registered the listeners > > >>>>>>>> speciesCheckList.addListSelectionListener ( new > > >> ListSelectionListener () { > > >>>>>>>> // handle list selection > > >>>>>>>> public void valueChanged ( ListSelectionEvent e ) { > > >>>>>>>> // get selected indices > > >>>>>>>> int [] indices = speciesCheckList.getSelectedIndices (); > > >>>>>>>> } > > >>>>>>>> }); > > >>>>>>>> > > >>>>>>>> added: //leftPanel.add ( speciesComboBox ); > > >>>>>>>> leftPanel.add ( speciesCheckList ); > > >>>>>>>> > > >>>>>>>> The real issue here is how to populate the JList... I took > > >> a look at the constructors but can't determine a way to populate it > > >> after instantiation... maybe using abstract class somehow? > > >>>>>>>> > > >>>>>>>> So instead I have been working to add the > > >> speciesProfilesFound [] ArrayList as a constructor argument. Then I > > >> can pre-populate it prior to the contentPanel being > > >> initialized???... or possibly similar to the init() method which > > >> pre-populates the Database profileComboBox? > > >>>>>>>> > > >>>>>>>> Once the initital population of the JList is done we can > > >> modify it for the later methods which dynamically alter content in > > >> databaseProfileSelected() and speciesProfileSelected(). This will > > >> effect the selectedSpeciesProfile() method usage and its getter and > setter. > > >>>>>>>> > > >>>>>>>> Also we can then work on the text indication which > > >> dynamically shows the selected species and whether a custom or > > >> generic profile has been associated. > > >>>>>>>> > > >>>>>>>> Dondi - I'm looking forward to your suggestions and > assistance!!! > > >>>>>>>> > > >>>>>>>> Richard > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio > > >> <do...@lm...> wrote: > > >>>>>>>> Hi Rich, > > >>>>>>>> > > >>>>>>>> OK, thanks for the discussion setup. We'll work through > > >> this during the call. > > >>>>>>>> > > >>>>>>>> John David N. Dionisio, PhD > > >>>>>>>> Associate Professor, Computer Science > > >>>>>>>> Loyola Marymount University > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > >>>>>>>> > > >>>>>>>>> Update on status: > > >>>>>>>>> > > >>>>>>>>> Over the past two weeks I have spent time doing the following: > > >>>>>>>>> > > >>>>>>>>> 1. Reviewed the taxon id code changes which Don Murphy > > >> coded and were merged to create version 2.0 b64 > > >>>>>>>>> 2. Reviewed the UniprotDatabaseProfile, > > >> UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile > files > > >>>>>>>>> 3. Reviewed and discussed the process by which GenMAPP > > >> matches single taxon ids found in a Postgres db with the known > > >> species profiles. > > >>>>>>>>> > > >>>>>>>>> Current actions: > > >>>>>>>>> > > >>>>>>>>> During the last few days I have started coding in the > > >> ability for the species matching functionality to surface multiple > > >> taxon ids from within a Postgres db. > > >>>>>>>>> > > >>>>>>>>> The process being the following steps: > > >>>>>>>>> > > >>>>>>>>> 1. Grab all the taxon ids from the Postgres db > > >>>>>>>>> The current iteration of the software already does this. > > >> In the checkRequirements method in UniprotDatabaseProfile.java, a > > >> query of the Postgres db acquires all taxon id's and stores them in > > >> ResultSet result variable. > > >>>>>>>>> > > >>>>>>>>> 2. Check to find match between the taxon ids from > > >> Postgres against existing species profiles for known species. > > >>>>>>>>> > > >>>>>>>>> The current iteration compares each taxon id in ResultSet > > >> result variable. > > >>>>>>>>> First taxon id from result: > > >>>>>>>>> If match was found, then that species profile with > > >> associated taxon id was added to the speciesProfilesFound arraylist. > > >>>>>>>>> If no match was found, a generic species profile > > >> associated with the current taxon id was added to the > > >> speciesProfilesFound arraylist. > > >>>>>>>>> > > >>>>>>>>> Next taxon id from result > > >>>>>>>>> If match was found, then that species profile with > > >> associated taxon id was added to the speciesProfilesFound arraylist. > > >>>>>>>>> If no match was found, a generic species profile > > >> associated with the current taxon id was added to the > > >> speciesProfilesFound arraylist. > > >>>>>>>>> > > >>>>>>>>> Repeat until no more taxon ids are found in ResultSet > > >> result variable. > > >>>>>>>>> > > >>>>>>>>> 3. Replace the JComboBox with a JList to allow the user > > >> to choose a selection of multiple species to export. > > >>>>>>>>> > > >>>>>>>>> Use the getSelectedIndices method for JList to determine > > >> which species have been selected for export. > > >>>>>>>>> > > >>>>>>>>> 4. Modify the export process to run a pass for each > > >> species selected to generate a multispecies gdb. > > >>>>>>>>> details to be determined. > > >>>>>>>>> > > >>>>>>>>> > > >> > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> Discussion for tomorrows call: > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> We previously discussed allowing user input to manually > > >> add taxon ids and associate them to the generic profile. > > >>>>>>>>> > > >>>>>>>>> Unless I don't really understand the reasoning behind > > >> this, it seems to me that it is unnecessary. Why would we add a > > >> taxon id during the export process that isn't already in the Postgres > data? > > >>>>>>>>> > > >>>>>>>>> The current implementation already captures every taxon > > >> id in speciesProfilesFound regardless if its a known species or > > >> not. So it seems that we don't need to make any modifications in > > >> surfacing taxon ids from a Postgres db. > > >>>>>>>>> > > >>>>>>>>> Then we can go directly to #3 above which I have mostly > > >> coded, but can't seem to figure out how and where to populate the > > >> JList. In reviewing constructor documentation it indicates 4 ways > > >> to instantiate. > > >>>>>>>>> > > >>>>>>>>> My first choice was to create an empty JList [ JList () ] > > >> and populate it later but I don't see a method to do so such as > > >> addItems or something similar. > > >>>>>>>>> > > >>>>>>>>> I then tried to instantiate with speciesProfileFound as > > >> an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) > > >> but can't resolve. > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> Anyway, I look forward to our call at 9am tomorrow. > > >>>>>>>>> > > >>>>>>>>> Richard > > >>>>>>>>> <ATT00001..txt><ATT00002..txt> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >> > ------------------------------------------------------------------------------ > > >>>>>>>> All of the data generated in your IT infrastructure is > > >> seriously valuable. > > >>>>>>>> Why? It contains a definitive record of application > > >> performance, security > > >>>>>>>> threats, fraudulent activity, and more. Splunk takes this > > >> data and makes > > >>>>>>>> sense of it. IT sense. And common sense. > > >>>>>>>> http://p.sf.net/sfu/splunk-d2d-c2 > > >>>>>>>> _______________________________________________ > > >>>>>>>> xmlpipedb-developer mailing list > > >>>>>>>> xml...@li... > > >>>>>>>> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>>>>>> > > >>>>>>>> <ATT00001..txt><ATT00002..txt> > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >> > ------------------------------------------------------------------------------ > > >>>>>>> AppSumo Presents a FREE Video for the SourceForge Community by > Eric > > >>>>>>> Ries, the creator of the Lean Startup Methodology on "Lean > Startup > > >>>>>>> Secrets Revealed." This video shows you how to validate your > ideas, > > >>>>>>> optimize your ideas and identify your business strategy. > > >>>>>>> http://p.sf.net/sfu/appsumosfdev2dev > > >>>>>>> _______________________________________________ > > >>>>>>> xmlpipedb-developer mailing list > > >>>>>>> xml...@li... > > >>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>>>> > > >>>>>> > > >> > ------------------------------------------------------------------------------ > > >>>>>> AppSumo Presents a FREE Video for the SourceForge Community by > Eric > > >>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >>>>>> Secrets Revealed." This video shows you how to validate your > ideas, > > >>>>>> optimize your ideas and identify your business strategy. > > >>>>>> http://p.sf.net/sfu/appsumosfdev2dev > > >>>>>> _______________________________________________ > > >>>>>> xmlpipedb-developer mailing list > > >>>>>> xml...@li... > > >>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>>> > > >>>>> > > >>>>> > > >> > ------------------------------------------------------------------------------ > > >>>>> Magic Quadrant for Content-Aware Data Loss Prevention > > >>>>> Research study explores the data loss prevention market. > > >> Includes in-depth > > >>>>> analysis on the changes within the DLP market, and the criteria > used to > > >>>>> evaluate the strengths and weaknesses of these DLP solutions. > > >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > >>>>> _______________________________________________ > > >>>>> xmlpipedb-developer mailing list > > >>>>> xml...@li... > > >>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>> > > >>>> <ATT00001..txt><ATT00002..txt> > > >>> > > >>> > > >>> > > >> > ------------------------------------------------------------------------------ > > >>> 10 Tips for Better Web Security > > >>> Learn 10 ways to better secure your business today. Topics covered > include: > > >>> Web security, SSL, hacker attacks & Denial of Service (DoS), private > keys, > > >>> security Microsoft Exchange, secure Instant Messaging, and much more. > > >>> http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > >>> _______________________________________________ > > >>> xmlpipedb-developer mailing list > > >>> xml...@li... > > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>> > > >>> <ATT00001..txt><ATT00002..txt> > > >> > > >> > > >> > ------------------------------------------------------------------------------ > > >> 10 Tips for Better Web Security > > >> Learn 10 ways to better secure your business today. Topics covered > include: > > >> Web security, SSL, hacker attacks & Denial of Service (DoS), private > keys, > > >> security Microsoft Exchange, secure Instant Messaging, and much more. > > >> http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > >> _______________________________________________ > > >> xmlpipedb-developer mailing list > > >> xml...@li... > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > > > > > ------------------------------------------------------------------------------ > > > 10 Tips for Better Web Security > > > Learn 10 ways to better secure your business today. Topics covered > include: > > > Web security, SSL, hacker attacks & Denial of Service (DoS), private > keys, > > > security Microsoft Exchange, secure Instant Messaging, and much more. > > > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > > _______________________________________________ > > > xmlpipedb-developer mailing list > > > xml...@li... > > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > ------------------------------------------------------------------------------ > > 10 Tips for Better Web Security > > Learn 10 ways to better secure your business today. Topics covered > include: > > Web security, SSL, hacker attacks & Denial of Service (DoS), private > keys, > > security Microsoft Exchange, secure Instant Messaging, and much more. > > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <export1-crop.jpg><ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > 5 Ways to Improve & Secure Unified Communications > Unified Communications promises greater efficiencies for business. UC can > improve internal communications as well as offer faster, more efficient > ways > to interact with customers and streamline customer service. Learn more! > http://www.accelacomm.com/jaw/sfnl/114/51426253/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-07-21 05:38:24
|
Hi Rich, Congratulations! Welcome to the world of Swing GUI programming :) It has its share of tics and idiosyncrasies, but with some practice one gets the hang of it. I've reviewed your new code and have interspersed commentary in the context of your notes below. We don't have a lot of time tomorrow, so perhaps pick and choose the ones that you feel will benefit the most from synchronous discussion. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 20, 2011, at 9:22 PM, Richard Brous wrote: > Hallelujah!!! - a list box with multiple species of which any combination can be selected now exists!!! Thanks Dondi!! (see attachment) > > > OK, had a chance to review the code corrections, other comments and think on the next steps surrounding the selection of multiple species and their dynamic text updating. Here is where I am at the moment: > > A. Dondis corrections/additions to my last submission > > 1. Creating a private class called SpeciesListModel which extended AbstractListModel > > As soon as I saw your code I realized that I had sort of coded it backwards, thinking about implementing an interface instead of just extending the abstract object and adding methods... duh. My face turned a bit red on that one. > > The idea still of creating a list model to manage the entries in the JList still seems a bit complicated and foreign but I guess the more I work with the java ui stuff, the better I will become with it. Yes, it can be unwieldy in simple cases (like this one) and can sometimes result in repetitive code. However, it is very flexible and truly encapsulates the list data from the list presentation (for example, with this approach, you can even create a ListModel that does not have a data structure behind it; or perhaps one that queries for the list contents dynamically). > Additionally I did attempt to add a new method under this class called clearSpeciesProfiles. This was meant to clear the JList of all species found each time the export1 panel was opened instead of aggregating the species in the list. It doesn't seem to be working though so I commented it out for now. Please let me know if I'm adding this functionality in the wrong way and/or in the incorrect location. A couple of notes on this one. Observe how setSpeciesProfile *replaces* the list of species profiles returned by the list model, and does not add to it. Thus, I do not think that the duplication occurs at this level --- I believe it occurs at the UniProtDatabaseProfile.checkRequirements method. Follow the code from GenMAPPBuilder.doExportToGenMAPP and see if you spot the issue. Remember that the symptom occurs when one tries to export more than once. Thus, see what the code does to the relevant data structures when GenMAPPBuilder.doExportToGenMAPP is called more than once. > 2. SpringLayout > > I took a look at the website and got a feel for how to adjust panel component locations. Seems like I can use those commands to make the adjustment to the species label that you mentioned in comments. > > Interesting how the leftPanel uses SpringUtilities.makeCompactGrid while the rightPanel uses GridLayout... didn't realize you could combine both kinds on content panel. Yes, this is the power and complexity of Swing layout management --- you can nest them as much as you like, and mix and match them as much as you like. Powerful and flexible, yes; potentially complicated, yes also. > B. further UI enhancements: > > 1. I dug into export1 design in regard to the text description areas of both the Database and Species profiles. They are both JTextAreas(3, 15) where 3 denotes rows and 15 denotes columns. I changed both fields to be editable and compiled just so I could see how big each text field really is. I was able to type in 23 characters across and 7 rows downward until the next row was cutoff by the bottom edge of the box. I also changed the row and column arguments to JTextAreas(2, 15) and JTextAreas(3, 10) and recompiled but didn't see any change in the volume of text I could enter... must not understand it completely... are the arguments only to manage components placed within the textArea maybe while loose text just starts top left and word/line wraps? > > My reason for fooling with this was to see what would happen of course but really I had the idea that I would shrink the size of the database profileDescriptiontextArea to allow for a larger speciesDescriptionTextArea below it. Also I had been thinking of how to represent the species and its associated custom or default species profile in a way that made the most sense. The species names are pretty long so was going to suggest to simply use taxon id, profile type (custom or default) since the user could cross reference in the JList just to the left. This issue rests in some of the tricks behind Swing layout management. Unlike conventional GUI design, where components are given fixed, absolute coordinates and sizes, Swing tries to "compute" the layout dynamically, based on a combination of rules, "preferred sizes," and min/max sizes. The exact algorithm for determining the final layout is placed in the LayoutManager class. The row/column settings given to JTextArea typically pertain to *preferred* sizing, not final sizing. As in, the JTextArea "asks" its containing panel that "if possible, I prefer to have this many rows and columns." The rule of thumb is that a layout manager tries to give its components their preferred sizes *or greater*, if available (the idea being that most UI components wouldn't mind getting more space than they originally asked for). To exercise greater control over this, you'll need to get a better handle on the behavior or the various layout managers. Certain layout managers *do* cap a UI component's size to no greater than its preference. This takes some practice, however, and some familiarity with the layout manager "zoo." My suggestion: let's leave well enough alone here for now, get the functionality done first, then come back to this later. > 2. Dynamic insertion of desired species info into the speciesDescriptionTextArea > > In thinking of how to solve this I went back to code I had commented out in my last submission - the protected method which detected a change in species choice occurred within the JComboBox: speciesProfileSelected( Object selectedItem ) { Yes, the fundamental change that you are making now is that *more than one species profile may be active*. What you need to do, then, is to maintain the selected species profiles as a collection, and not as a single value. Then, all the code that used to assume that only a species profile gets selected need to be modified so that they can accommodate a collection of species profiles. Cases in point... > I had been struggling with what that method really should be doing now that we have a JList where multiple species could be selected. And after some review and then walking away from it for a few, I think it only needs to handle two things: > a. ensure that all the selected species are added to the export dataset. (We then modify the export process itself to account for and properly process multiple species.) ...This is the fundamental change that dominoes through the rest of the export code. Instead of holding on to a single selected species profile, you need to maintain a collection of them. Also... > b. use the selected indices to populate/depopulate the speciesDescriptionTextArea dynamically as a selection/deselection is made within the JList. > I have some ideas but would like to talk them through on the call tomorrow. I'll also submit my latest pass on the code for review. ...This part requires some rewriting so that the generated descriptive text can accommodate a collection of species profiles. The message generation thus gets a little more complicated. But it's just additional logic, iterating through the species profiles and incrementally appending a message string until you've gone through all of the selected profiles. e.g., "This export will use a customized profile for S. typhimurium, a general-purpose profile for B. anthracis, and a customized species profile for H. pylori." Hope you can see how that string can be computed via iteration through a species profile collection. OK, that would be my 2 cents...let's see what needs live discussion tomorrow morning. > Richard > > > > On Wed, Jul 20, 2011 at 9:00 AM, John David N. Dionisio <do...@lm...> wrote: > Sounds good, talk to everyone Thursday 9am then :) > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Jul 20, 2011, at 8:47 AM, Kam Dahlquist <kda...@lm...> wrote: > > > Hi, > > > > I'm OK for Thursday, too. Sorry, I don't generally check my e-mail > > at night. Hope everything is OK. In the future, don't hesitate to > > move things if I'm not responding, I'll catch up eventually :) > > > > Best, > > Kam > > > > At 08:29 AM 7/20/2011, John David N. Dionisio wrote: > >> OK, acknowledged. Take care. > >> > >> John David N. Dionisio, PhD > >> Associate Professor, Computer Science > >> Loyola Marymount University > >> > >> > >> > >> On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: > >> > >>> OK, I am forced to push to tomorrow now because our nanny is > >> stuck in traffic, christina is back at the hospital and I have to > >> drive my boys to MDR for their camp. > >>> > >>> I'm sorry this is so crazy but all is upside down atm. > >>> > >>> I already have a bunch of questions which I will lay out via > >> email since they are more high level than can be placed in code > >> comments... at least I think so atm. > >>> > >>> Either way come hell or high-water I'll get another iteration on > >> this prior to a call. > >>> > >>> rb > >>> > >>> On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio > >> <do...@lm...> wrote: > >>> Hi Rich, > >>> > >>> Sorry to hear about your mother-in-law. Hospital wait states are > >> never fun. > >>> > >>> I can do Thursday morning at 9am if needed. Let's watch the > >> e-mail in the morning to see if Kam can do that too; if so, then > >> Thursday it is, but if not, then we can still push for Wednesday 9am. > >>> > >>> John David N. Dionisio, PhD > >>> Associate Professor, Computer Science > >>> Loyola Marymount University > >>> > >>> > >>> > >>> On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > >>> > >>>> ok, can't get a break... sitting in the ER after admitting my > >> mother in law at St. Johns in Santa Monica. We are waiting to get > >> her a bed but not sure how long it will take. > >>>> > >>>> Luckily I have my laptop with me so I was able to scan the new > >> code with all the Dondi comments and compile a build which runs. I > >> will review Dondi's changes as best I can from here but likely > >> won't be able to do much with it by our call tomorrow. > >>>> > >>>> I'm happy to push our call to Thursday morning instead of > >> tomorrow to allow more time... but it is late so unless I hear > >> otherwise, tomorrow at 9am is still a go. > >>>> > >>>> Richard > >>>> > >>>> On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous > >> <rbr...@gm...> wrote: > >>>> Thanks will review later this afternoon. Sorry got hung up on > >> this but continuing forward comments in code should speed this way up. > >>>> > >>>> Rb > >>>> > >>>> Sent from my iPhone > >>>> > >>>> On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" > >> <do...@lm...> wrote: > >>>> > >>>>> Greetings, > >>>>> > >>>>> OK, my responses are committed. As noted in my "Dondi -" > >> comments, you were fairly close. The main miss was how > >> AbstractListModel was to be used. Give it a gander and holler if > >> anything else remains unclear. > >>>>> > >>>>> At this point, you'll need to start managing what should > >> happen as the user selects/deselects species. You'll also want > >> that little informational panel on the right that summarizes (for > >> tech types) whether the selected species will be using a customized > >> species profile or the generic one. > >>>>> > >>>>> Carry on, see how this goes. :) > >>>>> > >>>>> John David N. Dionisio, PhD > >>>>> Associate Professor, Computer Science > >>>>> Loyola Marymount University > >>>>> > >>>>> > >>>>> On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > >>>>> > >>>>>> Ok , took the code as far as I could and submitted export 1 > >> - unfortunately broken code even though I made a point not to by > >> commenting out unfinished blocks. Take a look at the commit comments for info. > >>>>>> > >>>>>> I look forward to your comments which I'm sure will help > >> straighten this out! > >>>>>> > >>>>>> Rb > >>>>>> > >>>>>> Sent from my iPhone > >>>>>> > >>>>>> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" > >> <do...@lm...> wrote: > >>>>>> > >>>>>>> Hi there, > >>>>>>> > >>>>>>> A code-oriented session is OK with me, though this > >> particular question I can take a stab at via e-mail. > >>>>>>> > >>>>>>> The trick with full control of a JList is to implement its > >> model (a ListModel). For this, I usually create a subclass of > >> AbstractListModel and implement the missing methods. This > >> AbstractListModel subclass should be able to see the list of > >> species found. Then, the implementations of its missing methods > >> would be based on that list of species. > >>>>>>> > >>>>>>> With this ListModel class in hand, keeping the JList up to > >> date is a matter of instantiating the JList with this model: > >>>>>>> > >>>>>>> SpeciesListModel speciesListModel = new SpeciesListModel(); > >>>>>>> speciesCheckList = new JList(speciesListModel); > >>>>>>> > >>>>>>> If the species list changes, have the species list model > >> fire the appropriate list change event (the JavaDoc API has a bunch > >> of fire* methods). To keep things simple, there is a "full update" > >> event which just says "rebuild the entire JList." That one should > >> be OK. There are finer-grained ones like "something got inserted" > >> and "something got removed," but that really is more for optimization purposes. > >>>>>>> > >>>>>>> As for the text display, the simplest approach is to > >> implement the toString method of the SpeciesProfile class so that > >> they return something that is appropriate for a JList. Sometimes > >> that is too limiting though. If you want greater flexibility, you > >> will want to implement a ListCellRenderer. There is a class called > >> DefaultListCellRenderer that you can extend. Typically the > >> subclass would call the superclass's method, which returns a > >> JLabel. You can then change the content of the JLabel according to > >> the list item that you are trying to display. > >>>>>>> > >>>>>>> See if these leads are enough to go on. If not, I can talk > >> you through them more during the call. > >>>>>>> > >>>>>>> John David N. Dionisio, PhD > >>>>>>> Associate Professor, Computer Science > >>>>>>> Loyola Marymount University > >>>>>>> > >>>>>>> > >>>>>>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > >>>>>>> > >>>>>>>> Update for tomorrow 7/13/11: > >>>>>>>> > >>>>>>>> Clear on what I need to do but can't seem to figure out a > >> way to do it. I think the best use of our time tomorrow is to make > >> it a code discussion session (giving Dr. Dahlquist the opportunity > >> to bow out if so inclined) > >>>>>>>> > >>>>>>>> 1. In regard to the JList, I have been working on the best > >> way to implement it but am getting stuck on how to populate it and > >> where to do so in the code. > >>>>>>>> > >>>>>>>> I'm currently working in ExportPanel1.java and have done > >> the following so far: > >>>>>>>> > >>>>>>>> imported JList; > >>>>>>>> imported javax.swing.event.*; > >>>>>>>> > >>>>>>>> > >>>>>>>> public class ExportPanel1 extends JPanel { > >>>>>>>> added: private JList speciesCheckList; > >>>>>>>> > >>>>>>>> private JPanel getContentPanel () { > >>>>>>>> underneath the species combo box entry // species | > >> JComboBox | speciesFound |JLabel | Description | ... > >>>>>>>> > >>>>>>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > >>>>>>>> > >>>>>>>> // registered the listeners > >>>>>>>> speciesCheckList.addListSelectionListener ( new > >> ListSelectionListener () { > >>>>>>>> // handle list selection > >>>>>>>> public void valueChanged ( ListSelectionEvent e ) { > >>>>>>>> // get selected indices > >>>>>>>> int [] indices = speciesCheckList.getSelectedIndices (); > >>>>>>>> } > >>>>>>>> }); > >>>>>>>> > >>>>>>>> added: //leftPanel.add ( speciesComboBox ); > >>>>>>>> leftPanel.add ( speciesCheckList ); > >>>>>>>> > >>>>>>>> The real issue here is how to populate the JList... I took > >> a look at the constructors but can't determine a way to populate it > >> after instantiation... maybe using abstract class somehow? > >>>>>>>> > >>>>>>>> So instead I have been working to add the > >> speciesProfilesFound [] ArrayList as a constructor argument. Then I > >> can pre-populate it prior to the contentPanel being > >> initialized???... or possibly similar to the init() method which > >> pre-populates the Database profileComboBox? > >>>>>>>> > >>>>>>>> Once the initital population of the JList is done we can > >> modify it for the later methods which dynamically alter content in > >> databaseProfileSelected() and speciesProfileSelected(). This will > >> effect the selectedSpeciesProfile() method usage and its getter and setter. > >>>>>>>> > >>>>>>>> Also we can then work on the text indication which > >> dynamically shows the selected species and whether a custom or > >> generic profile has been associated. > >>>>>>>> > >>>>>>>> Dondi - I'm looking forward to your suggestions and assistance!!! > >>>>>>>> > >>>>>>>> Richard > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio > >> <do...@lm...> wrote: > >>>>>>>> Hi Rich, > >>>>>>>> > >>>>>>>> OK, thanks for the discussion setup. We'll work through > >> this during the call. > >>>>>>>> > >>>>>>>> John David N. Dionisio, PhD > >>>>>>>> Associate Professor, Computer Science > >>>>>>>> Loyola Marymount University > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > >>>>>>>> > >>>>>>>>> Update on status: > >>>>>>>>> > >>>>>>>>> Over the past two weeks I have spent time doing the following: > >>>>>>>>> > >>>>>>>>> 1. Reviewed the taxon id code changes which Don Murphy > >> coded and were merged to create version 2.0 b64 > >>>>>>>>> 2. Reviewed the UniprotDatabaseProfile, > >> UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > >>>>>>>>> 3. Reviewed and discussed the process by which GenMAPP > >> matches single taxon ids found in a Postgres db with the known > >> species profiles. > >>>>>>>>> > >>>>>>>>> Current actions: > >>>>>>>>> > >>>>>>>>> During the last few days I have started coding in the > >> ability for the species matching functionality to surface multiple > >> taxon ids from within a Postgres db. > >>>>>>>>> > >>>>>>>>> The process being the following steps: > >>>>>>>>> > >>>>>>>>> 1. Grab all the taxon ids from the Postgres db > >>>>>>>>> The current iteration of the software already does this. > >> In the checkRequirements method in UniprotDatabaseProfile.java, a > >> query of the Postgres db acquires all taxon id's and stores them in > >> ResultSet result variable. > >>>>>>>>> > >>>>>>>>> 2. Check to find match between the taxon ids from > >> Postgres against existing species profiles for known species. > >>>>>>>>> > >>>>>>>>> The current iteration compares each taxon id in ResultSet > >> result variable. > >>>>>>>>> First taxon id from result: > >>>>>>>>> If match was found, then that species profile with > >> associated taxon id was added to the speciesProfilesFound arraylist. > >>>>>>>>> If no match was found, a generic species profile > >> associated with the current taxon id was added to the > >> speciesProfilesFound arraylist. > >>>>>>>>> > >>>>>>>>> Next taxon id from result > >>>>>>>>> If match was found, then that species profile with > >> associated taxon id was added to the speciesProfilesFound arraylist. > >>>>>>>>> If no match was found, a generic species profile > >> associated with the current taxon id was added to the > >> speciesProfilesFound arraylist. > >>>>>>>>> > >>>>>>>>> Repeat until no more taxon ids are found in ResultSet > >> result variable. > >>>>>>>>> > >>>>>>>>> 3. Replace the JComboBox with a JList to allow the user > >> to choose a selection of multiple species to export. > >>>>>>>>> > >>>>>>>>> Use the getSelectedIndices method for JList to determine > >> which species have been selected for export. > >>>>>>>>> > >>>>>>>>> 4. Modify the export process to run a pass for each > >> species selected to generate a multispecies gdb. > >>>>>>>>> details to be determined. > >>>>>>>>> > >>>>>>>>> > >> ----------------------------------------------------------------------------------------------------------------------------------------------------------- > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Discussion for tomorrows call: > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> We previously discussed allowing user input to manually > >> add taxon ids and associate them to the generic profile. > >>>>>>>>> > >>>>>>>>> Unless I don't really understand the reasoning behind > >> this, it seems to me that it is unnecessary. Why would we add a > >> taxon id during the export process that isn't already in the Postgres data? > >>>>>>>>> > >>>>>>>>> The current implementation already captures every taxon > >> id in speciesProfilesFound regardless if its a known species or > >> not. So it seems that we don't need to make any modifications in > >> surfacing taxon ids from a Postgres db. > >>>>>>>>> > >>>>>>>>> Then we can go directly to #3 above which I have mostly > >> coded, but can't seem to figure out how and where to populate the > >> JList. In reviewing constructor documentation it indicates 4 ways > >> to instantiate. > >>>>>>>>> > >>>>>>>>> My first choice was to create an empty JList [ JList () ] > >> and populate it later but I don't see a method to do so such as > >> addItems or something similar. > >>>>>>>>> > >>>>>>>>> I then tried to instantiate with speciesProfileFound as > >> an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) > >> but can't resolve. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Anyway, I look forward to our call at 9am tomorrow. > >>>>>>>>> > >>>>>>>>> Richard > >>>>>>>>> <ATT00001..txt><ATT00002..txt> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >> ------------------------------------------------------------------------------ > >>>>>>>> All of the data generated in your IT infrastructure is > >> seriously valuable. > >>>>>>>> Why? It contains a definitive record of application > >> performance, security > >>>>>>>> threats, fraudulent activity, and more. Splunk takes this > >> data and makes > >>>>>>>> sense of it. IT sense. And common sense. > >>>>>>>> http://p.sf.net/sfu/splunk-d2d-c2 > >>>>>>>> _______________________________________________ > >>>>>>>> xmlpipedb-developer mailing list > >>>>>>>> xml...@li... > >>>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>>>>>>> > >>>>>>>> <ATT00001..txt><ATT00002..txt> > >>>>>>> > >>>>>>> > >>>>>>> > >> ------------------------------------------------------------------------------ > >>>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > >>>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > >>>>>>> Secrets Revealed." This video shows you how to validate your ideas, > >>>>>>> optimize your ideas and identify your business strategy. > >>>>>>> http://p.sf.net/sfu/appsumosfdev2dev > >>>>>>> _______________________________________________ > >>>>>>> xmlpipedb-developer mailing list > >>>>>>> xml...@li... > >>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>>>>> > >>>>>> > >> ------------------------------------------------------------------------------ > >>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > >>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > >>>>>> Secrets Revealed." This video shows you how to validate your ideas, > >>>>>> optimize your ideas and identify your business strategy. > >>>>>> http://p.sf.net/sfu/appsumosfdev2dev > >>>>>> _______________________________________________ > >>>>>> xmlpipedb-developer mailing list > >>>>>> xml...@li... > >>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>>>> > >>>>> > >>>>> > >> ------------------------------------------------------------------------------ > >>>>> Magic Quadrant for Content-Aware Data Loss Prevention > >>>>> Research study explores the data loss prevention market. > >> Includes in-depth > >>>>> analysis on the changes within the DLP market, and the criteria used to > >>>>> evaluate the strengths and weaknesses of these DLP solutions. > >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/ > >>>>> _______________________________________________ > >>>>> xmlpipedb-developer mailing list > >>>>> xml...@li... > >>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>>> > >>>> <ATT00001..txt><ATT00002..txt> > >>> > >>> > >>> > >> ------------------------------------------------------------------------------ > >>> 10 Tips for Better Web Security > >>> Learn 10 ways to better secure your business today. Topics covered include: > >>> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > >>> security Microsoft Exchange, secure Instant Messaging, and much more. > >>> http://www.accelacomm.com/jaw/sfnl/114/51426210/ > >>> _______________________________________________ > >>> xmlpipedb-developer mailing list > >>> xml...@li... > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>> > >>> <ATT00001..txt><ATT00002..txt> > >> > >> > >> ------------------------------------------------------------------------------ > >> 10 Tips for Better Web Security > >> Learn 10 ways to better secure your business today. Topics covered include: > >> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > >> security Microsoft Exchange, secure Instant Messaging, and much more. > >> http://www.accelacomm.com/jaw/sfnl/114/51426210/ > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > ------------------------------------------------------------------------------ > > 10 Tips for Better Web Security > > Learn 10 ways to better secure your business today. Topics covered include: > > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > > security Microsoft Exchange, secure Instant Messaging, and much more. > > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > ------------------------------------------------------------------------------ > 10 Tips for Better Web Security > Learn 10 ways to better secure your business today. Topics covered include: > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > security Microsoft Exchange, secure Instant Messaging, and much more. > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > <export1-crop.jpg><ATT00001..txt><ATT00002..txt> |
From: John D. N. D. <do...@lm...> - 2011-07-20 16:00:12
|
Sounds good, talk to everyone Thursday 9am then :) John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 20, 2011, at 8:47 AM, Kam Dahlquist <kda...@lm...> wrote: > Hi, > > I'm OK for Thursday, too. Sorry, I don't generally check my e-mail > at night. Hope everything is OK. In the future, don't hesitate to > move things if I'm not responding, I'll catch up eventually :) > > Best, > Kam > > At 08:29 AM 7/20/2011, John David N. Dionisio wrote: >> OK, acknowledged. Take care. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> >> >> On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: >> >>> OK, I am forced to push to tomorrow now because our nanny is >> stuck in traffic, christina is back at the hospital and I have to >> drive my boys to MDR for their camp. >>> >>> I'm sorry this is so crazy but all is upside down atm. >>> >>> I already have a bunch of questions which I will lay out via >> email since they are more high level than can be placed in code >> comments... at least I think so atm. >>> >>> Either way come hell or high-water I'll get another iteration on >> this prior to a call. >>> >>> rb >>> >>> On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio >> <do...@lm...> wrote: >>> Hi Rich, >>> >>> Sorry to hear about your mother-in-law. Hospital wait states are >> never fun. >>> >>> I can do Thursday morning at 9am if needed. Let's watch the >> e-mail in the morning to see if Kam can do that too; if so, then >> Thursday it is, but if not, then we can still push for Wednesday 9am. >>> >>> John David N. Dionisio, PhD >>> Associate Professor, Computer Science >>> Loyola Marymount University >>> >>> >>> >>> On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: >>> >>>> ok, can't get a break... sitting in the ER after admitting my >> mother in law at St. Johns in Santa Monica. We are waiting to get >> her a bed but not sure how long it will take. >>>> >>>> Luckily I have my laptop with me so I was able to scan the new >> code with all the Dondi comments and compile a build which runs. I >> will review Dondi's changes as best I can from here but likely >> won't be able to do much with it by our call tomorrow. >>>> >>>> I'm happy to push our call to Thursday morning instead of >> tomorrow to allow more time... but it is late so unless I hear >> otherwise, tomorrow at 9am is still a go. >>>> >>>> Richard >>>> >>>> On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous >> <rbr...@gm...> wrote: >>>> Thanks will review later this afternoon. Sorry got hung up on >> this but continuing forward comments in code should speed this way up. >>>> >>>> Rb >>>> >>>> Sent from my iPhone >>>> >>>> On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" >> <do...@lm...> wrote: >>>> >>>>> Greetings, >>>>> >>>>> OK, my responses are committed. As noted in my "Dondi -" >> comments, you were fairly close. The main miss was how >> AbstractListModel was to be used. Give it a gander and holler if >> anything else remains unclear. >>>>> >>>>> At this point, you'll need to start managing what should >> happen as the user selects/deselects species. You'll also want >> that little informational panel on the right that summarizes (for >> tech types) whether the selected species will be using a customized >> species profile or the generic one. >>>>> >>>>> Carry on, see how this goes. :) >>>>> >>>>> John David N. Dionisio, PhD >>>>> Associate Professor, Computer Science >>>>> Loyola Marymount University >>>>> >>>>> >>>>> On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: >>>>> >>>>>> Ok , took the code as far as I could and submitted export 1 >> - unfortunately broken code even though I made a point not to by >> commenting out unfinished blocks. Take a look at the commit comments for info. >>>>>> >>>>>> I look forward to your comments which I'm sure will help >> straighten this out! >>>>>> >>>>>> Rb >>>>>> >>>>>> Sent from my iPhone >>>>>> >>>>>> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" >> <do...@lm...> wrote: >>>>>> >>>>>>> Hi there, >>>>>>> >>>>>>> A code-oriented session is OK with me, though this >> particular question I can take a stab at via e-mail. >>>>>>> >>>>>>> The trick with full control of a JList is to implement its >> model (a ListModel). For this, I usually create a subclass of >> AbstractListModel and implement the missing methods. This >> AbstractListModel subclass should be able to see the list of >> species found. Then, the implementations of its missing methods >> would be based on that list of species. >>>>>>> >>>>>>> With this ListModel class in hand, keeping the JList up to >> date is a matter of instantiating the JList with this model: >>>>>>> >>>>>>> SpeciesListModel speciesListModel = new SpeciesListModel(); >>>>>>> speciesCheckList = new JList(speciesListModel); >>>>>>> >>>>>>> If the species list changes, have the species list model >> fire the appropriate list change event (the JavaDoc API has a bunch >> of fire* methods). To keep things simple, there is a "full update" >> event which just says "rebuild the entire JList." That one should >> be OK. There are finer-grained ones like "something got inserted" >> and "something got removed," but that really is more for optimization purposes. >>>>>>> >>>>>>> As for the text display, the simplest approach is to >> implement the toString method of the SpeciesProfile class so that >> they return something that is appropriate for a JList. Sometimes >> that is too limiting though. If you want greater flexibility, you >> will want to implement a ListCellRenderer. There is a class called >> DefaultListCellRenderer that you can extend. Typically the >> subclass would call the superclass's method, which returns a >> JLabel. You can then change the content of the JLabel according to >> the list item that you are trying to display. >>>>>>> >>>>>>> See if these leads are enough to go on. If not, I can talk >> you through them more during the call. >>>>>>> >>>>>>> John David N. Dionisio, PhD >>>>>>> Associate Professor, Computer Science >>>>>>> Loyola Marymount University >>>>>>> >>>>>>> >>>>>>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: >>>>>>> >>>>>>>> Update for tomorrow 7/13/11: >>>>>>>> >>>>>>>> Clear on what I need to do but can't seem to figure out a >> way to do it. I think the best use of our time tomorrow is to make >> it a code discussion session (giving Dr. Dahlquist the opportunity >> to bow out if so inclined) >>>>>>>> >>>>>>>> 1. In regard to the JList, I have been working on the best >> way to implement it but am getting stuck on how to populate it and >> where to do so in the code. >>>>>>>> >>>>>>>> I'm currently working in ExportPanel1.java and have done >> the following so far: >>>>>>>> >>>>>>>> imported JList; >>>>>>>> imported javax.swing.event.*; >>>>>>>> >>>>>>>> >>>>>>>> public class ExportPanel1 extends JPanel { >>>>>>>> added: private JList speciesCheckList; >>>>>>>> >>>>>>>> private JPanel getContentPanel () { >>>>>>>> underneath the species combo box entry // species | >> JComboBox | speciesFound |JLabel | Description | ... >>>>>>>> >>>>>>>> added: speciesCheckList = new JList ( speciesProfilesFound ); >>>>>>>> >>>>>>>> // registered the listeners >>>>>>>> speciesCheckList.addListSelectionListener ( new >> ListSelectionListener () { >>>>>>>> // handle list selection >>>>>>>> public void valueChanged ( ListSelectionEvent e ) { >>>>>>>> // get selected indices >>>>>>>> int [] indices = speciesCheckList.getSelectedIndices (); >>>>>>>> } >>>>>>>> }); >>>>>>>> >>>>>>>> added: //leftPanel.add ( speciesComboBox ); >>>>>>>> leftPanel.add ( speciesCheckList ); >>>>>>>> >>>>>>>> The real issue here is how to populate the JList... I took >> a look at the constructors but can't determine a way to populate it >> after instantiation... maybe using abstract class somehow? >>>>>>>> >>>>>>>> So instead I have been working to add the >> speciesProfilesFound [] ArrayList as a constructor argument. Then I >> can pre-populate it prior to the contentPanel being >> initialized???... or possibly similar to the init() method which >> pre-populates the Database profileComboBox? >>>>>>>> >>>>>>>> Once the initital population of the JList is done we can >> modify it for the later methods which dynamically alter content in >> databaseProfileSelected() and speciesProfileSelected(). This will >> effect the selectedSpeciesProfile() method usage and its getter and setter. >>>>>>>> >>>>>>>> Also we can then work on the text indication which >> dynamically shows the selected species and whether a custom or >> generic profile has been associated. >>>>>>>> >>>>>>>> Dondi - I'm looking forward to your suggestions and assistance!!! >>>>>>>> >>>>>>>> Richard >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio >> <do...@lm...> wrote: >>>>>>>> Hi Rich, >>>>>>>> >>>>>>>> OK, thanks for the discussion setup. We'll work through >> this during the call. >>>>>>>> >>>>>>>> John David N. Dionisio, PhD >>>>>>>> Associate Professor, Computer Science >>>>>>>> Loyola Marymount University >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: >>>>>>>> >>>>>>>>> Update on status: >>>>>>>>> >>>>>>>>> Over the past two weeks I have spent time doing the following: >>>>>>>>> >>>>>>>>> 1. Reviewed the taxon id code changes which Don Murphy >> coded and were merged to create version 2.0 b64 >>>>>>>>> 2. Reviewed the UniprotDatabaseProfile, >> UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files >>>>>>>>> 3. Reviewed and discussed the process by which GenMAPP >> matches single taxon ids found in a Postgres db with the known >> species profiles. >>>>>>>>> >>>>>>>>> Current actions: >>>>>>>>> >>>>>>>>> During the last few days I have started coding in the >> ability for the species matching functionality to surface multiple >> taxon ids from within a Postgres db. >>>>>>>>> >>>>>>>>> The process being the following steps: >>>>>>>>> >>>>>>>>> 1. Grab all the taxon ids from the Postgres db >>>>>>>>> The current iteration of the software already does this. >> In the checkRequirements method in UniprotDatabaseProfile.java, a >> query of the Postgres db acquires all taxon id's and stores them in >> ResultSet result variable. >>>>>>>>> >>>>>>>>> 2. Check to find match between the taxon ids from >> Postgres against existing species profiles for known species. >>>>>>>>> >>>>>>>>> The current iteration compares each taxon id in ResultSet >> result variable. >>>>>>>>> First taxon id from result: >>>>>>>>> If match was found, then that species profile with >> associated taxon id was added to the speciesProfilesFound arraylist. >>>>>>>>> If no match was found, a generic species profile >> associated with the current taxon id was added to the >> speciesProfilesFound arraylist. >>>>>>>>> >>>>>>>>> Next taxon id from result >>>>>>>>> If match was found, then that species profile with >> associated taxon id was added to the speciesProfilesFound arraylist. >>>>>>>>> If no match was found, a generic species profile >> associated with the current taxon id was added to the >> speciesProfilesFound arraylist. >>>>>>>>> >>>>>>>>> Repeat until no more taxon ids are found in ResultSet >> result variable. >>>>>>>>> >>>>>>>>> 3. Replace the JComboBox with a JList to allow the user >> to choose a selection of multiple species to export. >>>>>>>>> >>>>>>>>> Use the getSelectedIndices method for JList to determine >> which species have been selected for export. >>>>>>>>> >>>>>>>>> 4. Modify the export process to run a pass for each >> species selected to generate a multispecies gdb. >>>>>>>>> details to be determined. >>>>>>>>> >>>>>>>>> >> ----------------------------------------------------------------------------------------------------------------------------------------------------------- >>>>>>>>> >>>>>>>>> >>>>>>>>> Discussion for tomorrows call: >>>>>>>>> >>>>>>>>> >>>>>>>>> We previously discussed allowing user input to manually >> add taxon ids and associate them to the generic profile. >>>>>>>>> >>>>>>>>> Unless I don't really understand the reasoning behind >> this, it seems to me that it is unnecessary. Why would we add a >> taxon id during the export process that isn't already in the Postgres data? >>>>>>>>> >>>>>>>>> The current implementation already captures every taxon >> id in speciesProfilesFound regardless if its a known species or >> not. So it seems that we don't need to make any modifications in >> surfacing taxon ids from a Postgres db. >>>>>>>>> >>>>>>>>> Then we can go directly to #3 above which I have mostly >> coded, but can't seem to figure out how and where to populate the >> JList. In reviewing constructor documentation it indicates 4 ways >> to instantiate. >>>>>>>>> >>>>>>>>> My first choice was to create an empty JList [ JList () ] >> and populate it later but I don't see a method to do so such as >> addItems or something similar. >>>>>>>>> >>>>>>>>> I then tried to instantiate with speciesProfileFound as >> an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) >> but can't resolve. >>>>>>>>> >>>>>>>>> >>>>>>>>> Anyway, I look forward to our call at 9am tomorrow. >>>>>>>>> >>>>>>>>> Richard >>>>>>>>> <ATT00001..txt><ATT00002..txt> >>>>>>>> >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------------ >>>>>>>> All of the data generated in your IT infrastructure is >> seriously valuable. >>>>>>>> Why? It contains a definitive record of application >> performance, security >>>>>>>> threats, fraudulent activity, and more. Splunk takes this >> data and makes >>>>>>>> sense of it. IT sense. And common sense. >>>>>>>> http://p.sf.net/sfu/splunk-d2d-c2 >>>>>>>> _______________________________________________ >>>>>>>> xmlpipedb-developer mailing list >>>>>>>> xml...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>>>>>> >>>>>>>> <ATT00001..txt><ATT00002..txt> >>>>>>> >>>>>>> >>>>>>> >> ------------------------------------------------------------------------------ >>>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric >>>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup >>>>>>> Secrets Revealed." This video shows you how to validate your ideas, >>>>>>> optimize your ideas and identify your business strategy. >>>>>>> http://p.sf.net/sfu/appsumosfdev2dev >>>>>>> _______________________________________________ >>>>>>> xmlpipedb-developer mailing list >>>>>>> xml...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>>>> >>>>>> >> ------------------------------------------------------------------------------ >>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric >>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup >>>>>> Secrets Revealed." This video shows you how to validate your ideas, >>>>>> optimize your ideas and identify your business strategy. >>>>>> http://p.sf.net/sfu/appsumosfdev2dev >>>>>> _______________________________________________ >>>>>> xmlpipedb-developer mailing list >>>>>> xml...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------------ >>>>> Magic Quadrant for Content-Aware Data Loss Prevention >>>>> Research study explores the data loss prevention market. >> Includes in-depth >>>>> analysis on the changes within the DLP market, and the criteria used to >>>>> evaluate the strengths and weaknesses of these DLP solutions. >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/ >>>>> _______________________________________________ >>>>> xmlpipedb-developer mailing list >>>>> xml...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>> >>>> <ATT00001..txt><ATT00002..txt> >>> >>> >>> >> ------------------------------------------------------------------------------ >>> 10 Tips for Better Web Security >>> Learn 10 ways to better secure your business today. Topics covered include: >>> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, >>> security Microsoft Exchange, secure Instant Messaging, and much more. >>> http://www.accelacomm.com/jaw/sfnl/114/51426210/ >>> _______________________________________________ >>> xmlpipedb-developer mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> >>> <ATT00001..txt><ATT00002..txt> >> >> >> ------------------------------------------------------------------------------ >> 10 Tips for Better Web Security >> Learn 10 ways to better secure your business today. Topics covered include: >> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, >> security Microsoft Exchange, secure Instant Messaging, and much more. >> http://www.accelacomm.com/jaw/sfnl/114/51426210/ >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > ------------------------------------------------------------------------------ > 10 Tips for Better Web Security > Learn 10 ways to better secure your business today. Topics covered include: > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > security Microsoft Exchange, secure Instant Messaging, and much more. > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: Richard B. <rbr...@gm...> - 2011-07-20 15:58:52
|
Thanks for understanding! Talk tomorrow. Rb Sent from my iPhone On Jul 20, 2011, at 8:47 AM, Kam Dahlquist <kda...@lm...> wrote: > Hi, > > I'm OK for Thursday, too. Sorry, I don't generally check my e-mail > at night. Hope everything is OK. In the future, don't hesitate to > move things if I'm not responding, I'll catch up eventually :) > > Best, > Kam > > At 08:29 AM 7/20/2011, John David N. Dionisio wrote: >> OK, acknowledged. Take care. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> >> >> On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: >> >>> OK, I am forced to push to tomorrow now because our nanny is >> stuck in traffic, christina is back at the hospital and I have to >> drive my boys to MDR for their camp. >>> >>> I'm sorry this is so crazy but all is upside down atm. >>> >>> I already have a bunch of questions which I will lay out via >> email since they are more high level than can be placed in code >> comments... at least I think so atm. >>> >>> Either way come hell or high-water I'll get another iteration on >> this prior to a call. >>> >>> rb >>> >>> On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio >> <do...@lm...> wrote: >>> Hi Rich, >>> >>> Sorry to hear about your mother-in-law. Hospital wait states are >> never fun. >>> >>> I can do Thursday morning at 9am if needed. Let's watch the >> e-mail in the morning to see if Kam can do that too; if so, then >> Thursday it is, but if not, then we can still push for Wednesday 9am. >>> >>> John David N. Dionisio, PhD >>> Associate Professor, Computer Science >>> Loyola Marymount University >>> >>> >>> >>> On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: >>> >>>> ok, can't get a break... sitting in the ER after admitting my >> mother in law at St. Johns in Santa Monica. We are waiting to get >> her a bed but not sure how long it will take. >>>> >>>> Luckily I have my laptop with me so I was able to scan the new >> code with all the Dondi comments and compile a build which runs. I >> will review Dondi's changes as best I can from here but likely >> won't be able to do much with it by our call tomorrow. >>>> >>>> I'm happy to push our call to Thursday morning instead of >> tomorrow to allow more time... but it is late so unless I hear >> otherwise, tomorrow at 9am is still a go. >>>> >>>> Richard >>>> >>>> On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous >> <rbr...@gm...> wrote: >>>> Thanks will review later this afternoon. Sorry got hung up on >> this but continuing forward comments in code should speed this way up. >>>> >>>> Rb >>>> >>>> Sent from my iPhone >>>> >>>> On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" >> <do...@lm...> wrote: >>>> >>>>> Greetings, >>>>> >>>>> OK, my responses are committed. As noted in my "Dondi -" >> comments, you were fairly close. The main miss was how >> AbstractListModel was to be used. Give it a gander and holler if >> anything else remains unclear. >>>>> >>>>> At this point, you'll need to start managing what should >> happen as the user selects/deselects species. You'll also want >> that little informational panel on the right that summarizes (for >> tech types) whether the selected species will be using a customized >> species profile or the generic one. >>>>> >>>>> Carry on, see how this goes. :) >>>>> >>>>> John David N. Dionisio, PhD >>>>> Associate Professor, Computer Science >>>>> Loyola Marymount University >>>>> >>>>> >>>>> On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: >>>>> >>>>>> Ok , took the code as far as I could and submitted export 1 >> - unfortunately broken code even though I made a point not to by >> commenting out unfinished blocks. Take a look at the commit comments for info. >>>>>> >>>>>> I look forward to your comments which I'm sure will help >> straighten this out! >>>>>> >>>>>> Rb >>>>>> >>>>>> Sent from my iPhone >>>>>> >>>>>> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" >> <do...@lm...> wrote: >>>>>> >>>>>>> Hi there, >>>>>>> >>>>>>> A code-oriented session is OK with me, though this >> particular question I can take a stab at via e-mail. >>>>>>> >>>>>>> The trick with full control of a JList is to implement its >> model (a ListModel). For this, I usually create a subclass of >> AbstractListModel and implement the missing methods. This >> AbstractListModel subclass should be able to see the list of >> species found. Then, the implementations of its missing methods >> would be based on that list of species. >>>>>>> >>>>>>> With this ListModel class in hand, keeping the JList up to >> date is a matter of instantiating the JList with this model: >>>>>>> >>>>>>> SpeciesListModel speciesListModel = new SpeciesListModel(); >>>>>>> speciesCheckList = new JList(speciesListModel); >>>>>>> >>>>>>> If the species list changes, have the species list model >> fire the appropriate list change event (the JavaDoc API has a bunch >> of fire* methods). To keep things simple, there is a "full update" >> event which just says "rebuild the entire JList." That one should >> be OK. There are finer-grained ones like "something got inserted" >> and "something got removed," but that really is more for optimization purposes. >>>>>>> >>>>>>> As for the text display, the simplest approach is to >> implement the toString method of the SpeciesProfile class so that >> they return something that is appropriate for a JList. Sometimes >> that is too limiting though. If you want greater flexibility, you >> will want to implement a ListCellRenderer. There is a class called >> DefaultListCellRenderer that you can extend. Typically the >> subclass would call the superclass's method, which returns a >> JLabel. You can then change the content of the JLabel according to >> the list item that you are trying to display. >>>>>>> >>>>>>> See if these leads are enough to go on. If not, I can talk >> you through them more during the call. >>>>>>> >>>>>>> John David N. Dionisio, PhD >>>>>>> Associate Professor, Computer Science >>>>>>> Loyola Marymount University >>>>>>> >>>>>>> >>>>>>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: >>>>>>> >>>>>>>> Update for tomorrow 7/13/11: >>>>>>>> >>>>>>>> Clear on what I need to do but can't seem to figure out a >> way to do it. I think the best use of our time tomorrow is to make >> it a code discussion session (giving Dr. Dahlquist the opportunity >> to bow out if so inclined) >>>>>>>> >>>>>>>> 1. In regard to the JList, I have been working on the best >> way to implement it but am getting stuck on how to populate it and >> where to do so in the code. >>>>>>>> >>>>>>>> I'm currently working in ExportPanel1.java and have done >> the following so far: >>>>>>>> >>>>>>>> imported JList; >>>>>>>> imported javax.swing.event.*; >>>>>>>> >>>>>>>> >>>>>>>> public class ExportPanel1 extends JPanel { >>>>>>>> added: private JList speciesCheckList; >>>>>>>> >>>>>>>> private JPanel getContentPanel () { >>>>>>>> underneath the species combo box entry // species | >> JComboBox | speciesFound |JLabel | Description | ... >>>>>>>> >>>>>>>> added: speciesCheckList = new JList ( speciesProfilesFound ); >>>>>>>> >>>>>>>> // registered the listeners >>>>>>>> speciesCheckList.addListSelectionListener ( new >> ListSelectionListener () { >>>>>>>> // handle list selection >>>>>>>> public void valueChanged ( ListSelectionEvent e ) { >>>>>>>> // get selected indices >>>>>>>> int [] indices = speciesCheckList.getSelectedIndices (); >>>>>>>> } >>>>>>>> }); >>>>>>>> >>>>>>>> added: //leftPanel.add ( speciesComboBox ); >>>>>>>> leftPanel.add ( speciesCheckList ); >>>>>>>> >>>>>>>> The real issue here is how to populate the JList... I took >> a look at the constructors but can't determine a way to populate it >> after instantiation... maybe using abstract class somehow? >>>>>>>> >>>>>>>> So instead I have been working to add the >> speciesProfilesFound [] ArrayList as a constructor argument. Then I >> can pre-populate it prior to the contentPanel being >> initialized???... or possibly similar to the init() method which >> pre-populates the Database profileComboBox? >>>>>>>> >>>>>>>> Once the initital population of the JList is done we can >> modify it for the later methods which dynamically alter content in >> databaseProfileSelected() and speciesProfileSelected(). This will >> effect the selectedSpeciesProfile() method usage and its getter and setter. >>>>>>>> >>>>>>>> Also we can then work on the text indication which >> dynamically shows the selected species and whether a custom or >> generic profile has been associated. >>>>>>>> >>>>>>>> Dondi - I'm looking forward to your suggestions and assistance!!! >>>>>>>> >>>>>>>> Richard >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio >> <do...@lm...> wrote: >>>>>>>> Hi Rich, >>>>>>>> >>>>>>>> OK, thanks for the discussion setup. We'll work through >> this during the call. >>>>>>>> >>>>>>>> John David N. Dionisio, PhD >>>>>>>> Associate Professor, Computer Science >>>>>>>> Loyola Marymount University >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: >>>>>>>> >>>>>>>>> Update on status: >>>>>>>>> >>>>>>>>> Over the past two weeks I have spent time doing the following: >>>>>>>>> >>>>>>>>> 1. Reviewed the taxon id code changes which Don Murphy >> coded and were merged to create version 2.0 b64 >>>>>>>>> 2. Reviewed the UniprotDatabaseProfile, >> UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files >>>>>>>>> 3. Reviewed and discussed the process by which GenMAPP >> matches single taxon ids found in a Postgres db with the known >> species profiles. >>>>>>>>> >>>>>>>>> Current actions: >>>>>>>>> >>>>>>>>> During the last few days I have started coding in the >> ability for the species matching functionality to surface multiple >> taxon ids from within a Postgres db. >>>>>>>>> >>>>>>>>> The process being the following steps: >>>>>>>>> >>>>>>>>> 1. Grab all the taxon ids from the Postgres db >>>>>>>>> The current iteration of the software already does this. >> In the checkRequirements method in UniprotDatabaseProfile.java, a >> query of the Postgres db acquires all taxon id's and stores them in >> ResultSet result variable. >>>>>>>>> >>>>>>>>> 2. Check to find match between the taxon ids from >> Postgres against existing species profiles for known species. >>>>>>>>> >>>>>>>>> The current iteration compares each taxon id in ResultSet >> result variable. >>>>>>>>> First taxon id from result: >>>>>>>>> If match was found, then that species profile with >> associated taxon id was added to the speciesProfilesFound arraylist. >>>>>>>>> If no match was found, a generic species profile >> associated with the current taxon id was added to the >> speciesProfilesFound arraylist. >>>>>>>>> >>>>>>>>> Next taxon id from result >>>>>>>>> If match was found, then that species profile with >> associated taxon id was added to the speciesProfilesFound arraylist. >>>>>>>>> If no match was found, a generic species profile >> associated with the current taxon id was added to the >> speciesProfilesFound arraylist. >>>>>>>>> >>>>>>>>> Repeat until no more taxon ids are found in ResultSet >> result variable. >>>>>>>>> >>>>>>>>> 3. Replace the JComboBox with a JList to allow the user >> to choose a selection of multiple species to export. >>>>>>>>> >>>>>>>>> Use the getSelectedIndices method for JList to determine >> which species have been selected for export. >>>>>>>>> >>>>>>>>> 4. Modify the export process to run a pass for each >> species selected to generate a multispecies gdb. >>>>>>>>> details to be determined. >>>>>>>>> >>>>>>>>> >> ----------------------------------------------------------------------------------------------------------------------------------------------------------- >>>>>>>>> >>>>>>>>> >>>>>>>>> Discussion for tomorrows call: >>>>>>>>> >>>>>>>>> >>>>>>>>> We previously discussed allowing user input to manually >> add taxon ids and associate them to the generic profile. >>>>>>>>> >>>>>>>>> Unless I don't really understand the reasoning behind >> this, it seems to me that it is unnecessary. Why would we add a >> taxon id during the export process that isn't already in the Postgres data? >>>>>>>>> >>>>>>>>> The current implementation already captures every taxon >> id in speciesProfilesFound regardless if its a known species or >> not. So it seems that we don't need to make any modifications in >> surfacing taxon ids from a Postgres db. >>>>>>>>> >>>>>>>>> Then we can go directly to #3 above which I have mostly >> coded, but can't seem to figure out how and where to populate the >> JList. In reviewing constructor documentation it indicates 4 ways >> to instantiate. >>>>>>>>> >>>>>>>>> My first choice was to create an empty JList [ JList () ] >> and populate it later but I don't see a method to do so such as >> addItems or something similar. >>>>>>>>> >>>>>>>>> I then tried to instantiate with speciesProfileFound as >> an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) >> but can't resolve. >>>>>>>>> >>>>>>>>> >>>>>>>>> Anyway, I look forward to our call at 9am tomorrow. >>>>>>>>> >>>>>>>>> Richard >>>>>>>>> <ATT00001..txt><ATT00002..txt> >>>>>>>> >>>>>>>> >>>>>>>> >> ------------------------------------------------------------------------------ >>>>>>>> All of the data generated in your IT infrastructure is >> seriously valuable. >>>>>>>> Why? It contains a definitive record of application >> performance, security >>>>>>>> threats, fraudulent activity, and more. Splunk takes this >> data and makes >>>>>>>> sense of it. IT sense. And common sense. >>>>>>>> http://p.sf.net/sfu/splunk-d2d-c2 >>>>>>>> _______________________________________________ >>>>>>>> xmlpipedb-developer mailing list >>>>>>>> xml...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>>>>>> >>>>>>>> <ATT00001..txt><ATT00002..txt> >>>>>>> >>>>>>> >>>>>>> >> ------------------------------------------------------------------------------ >>>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric >>>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup >>>>>>> Secrets Revealed." This video shows you how to validate your ideas, >>>>>>> optimize your ideas and identify your business strategy. >>>>>>> http://p.sf.net/sfu/appsumosfdev2dev >>>>>>> _______________________________________________ >>>>>>> xmlpipedb-developer mailing list >>>>>>> xml...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>>>> >>>>>> >> ------------------------------------------------------------------------------ >>>>>> AppSumo Presents a FREE Video for the SourceForge Community by Eric >>>>>> Ries, the creator of the Lean Startup Methodology on "Lean Startup >>>>>> Secrets Revealed." This video shows you how to validate your ideas, >>>>>> optimize your ideas and identify your business strategy. >>>>>> http://p.sf.net/sfu/appsumosfdev2dev >>>>>> _______________________________________________ >>>>>> xmlpipedb-developer mailing list >>>>>> xml...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>>> >>>>> >>>>> >> ------------------------------------------------------------------------------ >>>>> Magic Quadrant for Content-Aware Data Loss Prevention >>>>> Research study explores the data loss prevention market. >> Includes in-depth >>>>> analysis on the changes within the DLP market, and the criteria used to >>>>> evaluate the strengths and weaknesses of these DLP solutions. >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/ >>>>> _______________________________________________ >>>>> xmlpipedb-developer mailing list >>>>> xml...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>> >>>> <ATT00001..txt><ATT00002..txt> >>> >>> >>> >> ------------------------------------------------------------------------------ >>> 10 Tips for Better Web Security >>> Learn 10 ways to better secure your business today. Topics covered include: >>> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, >>> security Microsoft Exchange, secure Instant Messaging, and much more. >>> http://www.accelacomm.com/jaw/sfnl/114/51426210/ >>> _______________________________________________ >>> xmlpipedb-developer mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> >>> <ATT00001..txt><ATT00002..txt> >> >> >> ------------------------------------------------------------------------------ >> 10 Tips for Better Web Security >> Learn 10 ways to better secure your business today. Topics covered include: >> Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, >> security Microsoft Exchange, secure Instant Messaging, and much more. >> http://www.accelacomm.com/jaw/sfnl/114/51426210/ >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > ------------------------------------------------------------------------------ > 10 Tips for Better Web Security > Learn 10 ways to better secure your business today. Topics covered include: > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > security Microsoft Exchange, secure Instant Messaging, and much more. > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: Kam D. <kda...@lm...> - 2011-07-20 15:47:47
|
Hi, I'm OK for Thursday, too. Sorry, I don't generally check my e-mail at night. Hope everything is OK. In the future, don't hesitate to move things if I'm not responding, I'll catch up eventually :) Best, Kam At 08:29 AM 7/20/2011, John David N. Dionisio wrote: >OK, acknowledged. Take care. > >John David N. Dionisio, PhD >Associate Professor, Computer Science >Loyola Marymount University > > > >On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: > > > OK, I am forced to push to tomorrow now because our nanny is > stuck in traffic, christina is back at the hospital and I have to > drive my boys to MDR for their camp. > > > > I'm sorry this is so crazy but all is upside down atm. > > > > I already have a bunch of questions which I will lay out via > email since they are more high level than can be placed in code > comments... at least I think so atm. > > > > Either way come hell or high-water I'll get another iteration on > this prior to a call. > > > > rb > > > > On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio > <do...@lm...> wrote: > > Hi Rich, > > > > Sorry to hear about your mother-in-law. Hospital wait states are > never fun. > > > > I can do Thursday morning at 9am if needed. Let's watch the > e-mail in the morning to see if Kam can do that too; if so, then > Thursday it is, but if not, then we can still push for Wednesday 9am. > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Loyola Marymount University > > > > > > > > On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > > > > > ok, can't get a break... sitting in the ER after admitting my > mother in law at St. Johns in Santa Monica. We are waiting to get > her a bed but not sure how long it will take. > > > > > > Luckily I have my laptop with me so I was able to scan the new > code with all the Dondi comments and compile a build which runs. I > will review Dondi's changes as best I can from here but likely > won't be able to do much with it by our call tomorrow. > > > > > > I'm happy to push our call to Thursday morning instead of > tomorrow to allow more time... but it is late so unless I hear > otherwise, tomorrow at 9am is still a go. > > > > > > Richard > > > > > > On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous > <rbr...@gm...> wrote: > > > Thanks will review later this afternoon. Sorry got hung up on > this but continuing forward comments in code should speed this way up. > > > > > > Rb > > > > > > Sent from my iPhone > > > > > > On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" > <do...@lm...> wrote: > > > > > > > Greetings, > > > > > > > > OK, my responses are committed. As noted in my "Dondi -" > comments, you were fairly close. The main miss was how > AbstractListModel was to be used. Give it a gander and holler if > anything else remains unclear. > > > > > > > > At this point, you'll need to start managing what should > happen as the user selects/deselects species. You'll also want > that little informational panel on the right that summarizes (for > tech types) whether the selected species will be using a customized > species profile or the generic one. > > > > > > > > Carry on, see how this goes. :) > > > > > > > > John David N. Dionisio, PhD > > > > Associate Professor, Computer Science > > > > Loyola Marymount University > > > > > > > > > > > > On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > > > > > > >> Ok , took the code as far as I could and submitted export 1 > - unfortunately broken code even though I made a point not to by > commenting out unfinished blocks. Take a look at the commit comments for info. > > > >> > > > >> I look forward to your comments which I'm sure will help > straighten this out! > > > >> > > > >> Rb > > > >> > > > >> Sent from my iPhone > > > >> > > > >> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" > <do...@lm...> wrote: > > > >> > > > >>> Hi there, > > > >>> > > > >>> A code-oriented session is OK with me, though this > particular question I can take a stab at via e-mail. > > > >>> > > > >>> The trick with full control of a JList is to implement its > model (a ListModel). For this, I usually create a subclass of > AbstractListModel and implement the missing methods. This > AbstractListModel subclass should be able to see the list of > species found. Then, the implementations of its missing methods > would be based on that list of species. > > > >>> > > > >>> With this ListModel class in hand, keeping the JList up to > date is a matter of instantiating the JList with this model: > > > >>> > > > >>> SpeciesListModel speciesListModel = new SpeciesListModel(); > > > >>> speciesCheckList = new JList(speciesListModel); > > > >>> > > > >>> If the species list changes, have the species list model > fire the appropriate list change event (the JavaDoc API has a bunch > of fire* methods). To keep things simple, there is a "full update" > event which just says "rebuild the entire JList." That one should > be OK. There are finer-grained ones like "something got inserted" > and "something got removed," but that really is more for optimization purposes. > > > >>> > > > >>> As for the text display, the simplest approach is to > implement the toString method of the SpeciesProfile class so that > they return something that is appropriate for a JList. Sometimes > that is too limiting though. If you want greater flexibility, you > will want to implement a ListCellRenderer. There is a class called > DefaultListCellRenderer that you can extend. Typically the > subclass would call the superclass's method, which returns a > JLabel. You can then change the content of the JLabel according to > the list item that you are trying to display. > > > >>> > > > >>> See if these leads are enough to go on. If not, I can talk > you through them more during the call. > > > >>> > > > >>> John David N. Dionisio, PhD > > > >>> Associate Professor, Computer Science > > > >>> Loyola Marymount University > > > >>> > > > >>> > > > >>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > > > >>> > > > >>>> Update for tomorrow 7/13/11: > > > >>>> > > > >>>> Clear on what I need to do but can't seem to figure out a > way to do it. I think the best use of our time tomorrow is to make > it a code discussion session (giving Dr. Dahlquist the opportunity > to bow out if so inclined) > > > >>>> > > > >>>> 1. In regard to the JList, I have been working on the best > way to implement it but am getting stuck on how to populate it and > where to do so in the code. > > > >>>> > > > >>>> I'm currently working in ExportPanel1.java and have done > the following so far: > > > >>>> > > > >>>> imported JList; > > > >>>> imported javax.swing.event.*; > > > >>>> > > > >>>> > > > >>>> public class ExportPanel1 extends JPanel { > > > >>>> added: private JList speciesCheckList; > > > >>>> > > > >>>> private JPanel getContentPanel () { > > > >>>> underneath the species combo box entry // species | > JComboBox | speciesFound |JLabel | Description | ... > > > >>>> > > > >>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > > > >>>> > > > >>>> // registered the listeners > > > >>>> speciesCheckList.addListSelectionListener ( new > ListSelectionListener () { > > > >>>> // handle list selection > > > >>>> public void valueChanged ( ListSelectionEvent e ) { > > > >>>> // get selected indices > > > >>>> int [] indices = speciesCheckList.getSelectedIndices (); > > > >>>> } > > > >>>> }); > > > >>>> > > > >>>> added: //leftPanel.add ( speciesComboBox ); > > > >>>> leftPanel.add ( speciesCheckList ); > > > >>>> > > > >>>> The real issue here is how to populate the JList... I took > a look at the constructors but can't determine a way to populate it > after instantiation... maybe using abstract class somehow? > > > >>>> > > > >>>> So instead I have been working to add the > speciesProfilesFound [] ArrayList as a constructor argument. Then I > can pre-populate it prior to the contentPanel being > initialized???... or possibly similar to the init() method which > pre-populates the Database profileComboBox? > > > >>>> > > > >>>> Once the initital population of the JList is done we can > modify it for the later methods which dynamically alter content in > databaseProfileSelected() and speciesProfileSelected(). This will > effect the selectedSpeciesProfile() method usage and its getter and setter. > > > >>>> > > > >>>> Also we can then work on the text indication which > dynamically shows the selected species and whether a custom or > generic profile has been associated. > > > >>>> > > > >>>> Dondi - I'm looking forward to your suggestions and assistance!!! > > > >>>> > > > >>>> Richard > > > >>>> > > > >>>> > > > >>>> > > > >>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio > <do...@lm...> wrote: > > > >>>> Hi Rich, > > > >>>> > > > >>>> OK, thanks for the discussion setup. We'll work through > this during the call. > > > >>>> > > > >>>> John David N. Dionisio, PhD > > > >>>> Associate Professor, Computer Science > > > >>>> Loyola Marymount University > > > >>>> > > > >>>> > > > >>>> > > > >>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > > >>>> > > > >>>>> Update on status: > > > >>>>> > > > >>>>> Over the past two weeks I have spent time doing the following: > > > >>>>> > > > >>>>> 1. Reviewed the taxon id code changes which Don Murphy > coded and were merged to create version 2.0 b64 > > > >>>>> 2. Reviewed the UniprotDatabaseProfile, > UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > > > >>>>> 3. Reviewed and discussed the process by which GenMAPP > matches single taxon ids found in a Postgres db with the known > species profiles. > > > >>>>> > > > >>>>> Current actions: > > > >>>>> > > > >>>>> During the last few days I have started coding in the > ability for the species matching functionality to surface multiple > taxon ids from within a Postgres db. > > > >>>>> > > > >>>>> The process being the following steps: > > > >>>>> > > > >>>>> 1. Grab all the taxon ids from the Postgres db > > > >>>>> The current iteration of the software already does this. > In the checkRequirements method in UniprotDatabaseProfile.java, a > query of the Postgres db acquires all taxon id's and stores them in > ResultSet result variable. > > > >>>>> > > > >>>>> 2. Check to find match between the taxon ids from > Postgres against existing species profiles for known species. > > > >>>>> > > > >>>>> The current iteration compares each taxon id in ResultSet > result variable. > > > >>>>> First taxon id from result: > > > >>>>> If match was found, then that species profile with > associated taxon id was added to the speciesProfilesFound arraylist. > > > >>>>> If no match was found, a generic species profile > associated with the current taxon id was added to the > speciesProfilesFound arraylist. > > > >>>>> > > > >>>>> Next taxon id from result > > > >>>>> If match was found, then that species profile with > associated taxon id was added to the speciesProfilesFound arraylist. > > > >>>>> If no match was found, a generic species profile > associated with the current taxon id was added to the > speciesProfilesFound arraylist. > > > >>>>> > > > >>>>> Repeat until no more taxon ids are found in ResultSet > result variable. > > > >>>>> > > > >>>>> 3. Replace the JComboBox with a JList to allow the user > to choose a selection of multiple species to export. > > > >>>>> > > > >>>>> Use the getSelectedIndices method for JList to determine > which species have been selected for export. > > > >>>>> > > > >>>>> 4. Modify the export process to run a pass for each > species selected to generate a multispecies gdb. > > > >>>>> details to be determined. > > > >>>>> > > > >>>>> > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > > >>>>> > > > >>>>> > > > >>>>> Discussion for tomorrows call: > > > >>>>> > > > >>>>> > > > >>>>> We previously discussed allowing user input to manually > add taxon ids and associate them to the generic profile. > > > >>>>> > > > >>>>> Unless I don't really understand the reasoning behind > this, it seems to me that it is unnecessary. Why would we add a > taxon id during the export process that isn't already in the Postgres data? > > > >>>>> > > > >>>>> The current implementation already captures every taxon > id in speciesProfilesFound regardless if its a known species or > not. So it seems that we don't need to make any modifications in > surfacing taxon ids from a Postgres db. > > > >>>>> > > > >>>>> Then we can go directly to #3 above which I have mostly > coded, but can't seem to figure out how and where to populate the > JList. In reviewing constructor documentation it indicates 4 ways > to instantiate. > > > >>>>> > > > >>>>> My first choice was to create an empty JList [ JList () ] > and populate it later but I don't see a method to do so such as > addItems or something similar. > > > >>>>> > > > >>>>> I then tried to instantiate with speciesProfileFound as > an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) > but can't resolve. > > > >>>>> > > > >>>>> > > > >>>>> Anyway, I look forward to our call at 9am tomorrow. > > > >>>>> > > > >>>>> Richard > > > >>>>> <ATT00001..txt><ATT00002..txt> > > > >>>> > > > >>>> > > > >>>> > ------------------------------------------------------------------------------ > > > >>>> All of the data generated in your IT infrastructure is > seriously valuable. > > > >>>> Why? It contains a definitive record of application > performance, security > > > >>>> threats, fraudulent activity, and more. Splunk takes this > data and makes > > > >>>> sense of it. IT sense. And common sense. > > > >>>> http://p.sf.net/sfu/splunk-d2d-c2 > > > >>>> _______________________________________________ > > > >>>> xmlpipedb-developer mailing list > > > >>>> xml...@li... > > > >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > >>>> > > > >>>> <ATT00001..txt><ATT00002..txt> > > > >>> > > > >>> > > > >>> > ------------------------------------------------------------------------------ > > > >>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > > >>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > > >>> Secrets Revealed." This video shows you how to validate your ideas, > > > >>> optimize your ideas and identify your business strategy. > > > >>> http://p.sf.net/sfu/appsumosfdev2dev > > > >>> _______________________________________________ > > > >>> xmlpipedb-developer mailing list > > > >>> xml...@li... > > > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > >> > > > >> > ------------------------------------------------------------------------------ > > > >> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > > >> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > > >> Secrets Revealed." This video shows you how to validate your ideas, > > > >> optimize your ideas and identify your business strategy. > > > >> http://p.sf.net/sfu/appsumosfdev2dev > > > >> _______________________________________________ > > > >> xmlpipedb-developer mailing list > > > >> xml...@li... > > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > > Magic Quadrant for Content-Aware Data Loss Prevention > > > > Research study explores the data loss prevention market. > Includes in-depth > > > > analysis on the changes within the DLP market, and the criteria used to > > > > evaluate the strengths and weaknesses of these DLP solutions. > > > > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > > > _______________________________________________ > > > > xmlpipedb-developer mailing list > > > > xml...@li... > > > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > <ATT00001..txt><ATT00002..txt> > > > > > > > ------------------------------------------------------------------------------ > > 10 Tips for Better Web Security > > Learn 10 ways to better secure your business today. Topics covered include: > > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > > security Microsoft Exchange, secure Instant Messaging, and much more. > > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <ATT00001..txt><ATT00002..txt> > > >------------------------------------------------------------------------------ >10 Tips for Better Web Security >Learn 10 ways to better secure your business today. Topics covered include: >Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, >security Microsoft Exchange, secure Instant Messaging, and much more. >http://www.accelacomm.com/jaw/sfnl/114/51426210/ >_______________________________________________ >xmlpipedb-developer mailing list >xml...@li... >https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: John D. N. D. <do...@lm...> - 2011-07-20 15:29:43
|
OK, acknowledged. Take care. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 20, 2011, at 8:25 AM, Richard Brous wrote: > OK, I am forced to push to tomorrow now because our nanny is stuck in traffic, christina is back at the hospital and I have to drive my boys to MDR for their camp. > > I'm sorry this is so crazy but all is upside down atm. > > I already have a bunch of questions which I will lay out via email since they are more high level than can be placed in code comments... at least I think so atm. > > Either way come hell or high-water I'll get another iteration on this prior to a call. > > rb > > On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > Sorry to hear about your mother-in-law. Hospital wait states are never fun. > > I can do Thursday morning at 9am if needed. Let's watch the e-mail in the morning to see if Kam can do that too; if so, then Thursday it is, but if not, then we can still push for Wednesday 9am. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > > On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > > > ok, can't get a break... sitting in the ER after admitting my mother in law at St. Johns in Santa Monica. We are waiting to get her a bed but not sure how long it will take. > > > > Luckily I have my laptop with me so I was able to scan the new code with all the Dondi comments and compile a build which runs. I will review Dondi's changes as best I can from here but likely won't be able to do much with it by our call tomorrow. > > > > I'm happy to push our call to Thursday morning instead of tomorrow to allow more time... but it is late so unless I hear otherwise, tomorrow at 9am is still a go. > > > > Richard > > > > On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous <rbr...@gm...> wrote: > > Thanks will review later this afternoon. Sorry got hung up on this but continuing forward comments in code should speed this way up. > > > > Rb > > > > Sent from my iPhone > > > > On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" <do...@lm...> wrote: > > > > > Greetings, > > > > > > OK, my responses are committed. As noted in my "Dondi -" comments, you were fairly close. The main miss was how AbstractListModel was to be used. Give it a gander and holler if anything else remains unclear. > > > > > > At this point, you'll need to start managing what should happen as the user selects/deselects species. You'll also want that little informational panel on the right that summarizes (for tech types) whether the selected species will be using a customized species profile or the generic one. > > > > > > Carry on, see how this goes. :) > > > > > > John David N. Dionisio, PhD > > > Associate Professor, Computer Science > > > Loyola Marymount University > > > > > > > > > On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > > > > >> Ok , took the code as far as I could and submitted export 1 - unfortunately broken code even though I made a point not to by commenting out unfinished blocks. Take a look at the commit comments for info. > > >> > > >> I look forward to your comments which I'm sure will help straighten this out! > > >> > > >> Rb > > >> > > >> Sent from my iPhone > > >> > > >> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> wrote: > > >> > > >>> Hi there, > > >>> > > >>> A code-oriented session is OK with me, though this particular question I can take a stab at via e-mail. > > >>> > > >>> The trick with full control of a JList is to implement its model (a ListModel). For this, I usually create a subclass of AbstractListModel and implement the missing methods. This AbstractListModel subclass should be able to see the list of species found. Then, the implementations of its missing methods would be based on that list of species. > > >>> > > >>> With this ListModel class in hand, keeping the JList up to date is a matter of instantiating the JList with this model: > > >>> > > >>> SpeciesListModel speciesListModel = new SpeciesListModel(); > > >>> speciesCheckList = new JList(speciesListModel); > > >>> > > >>> If the species list changes, have the species list model fire the appropriate list change event (the JavaDoc API has a bunch of fire* methods). To keep things simple, there is a "full update" event which just says "rebuild the entire JList." That one should be OK. There are finer-grained ones like "something got inserted" and "something got removed," but that really is more for optimization purposes. > > >>> > > >>> As for the text display, the simplest approach is to implement the toString method of the SpeciesProfile class so that they return something that is appropriate for a JList. Sometimes that is too limiting though. If you want greater flexibility, you will want to implement a ListCellRenderer. There is a class called DefaultListCellRenderer that you can extend. Typically the subclass would call the superclass's method, which returns a JLabel. You can then change the content of the JLabel according to the list item that you are trying to display. > > >>> > > >>> See if these leads are enough to go on. If not, I can talk you through them more during the call. > > >>> > > >>> John David N. Dionisio, PhD > > >>> Associate Professor, Computer Science > > >>> Loyola Marymount University > > >>> > > >>> > > >>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > > >>> > > >>>> Update for tomorrow 7/13/11: > > >>>> > > >>>> Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) > > >>>> > > >>>> 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. > > >>>> > > >>>> I'm currently working in ExportPanel1.java and have done the following so far: > > >>>> > > >>>> imported JList; > > >>>> imported javax.swing.event.*; > > >>>> > > >>>> > > >>>> public class ExportPanel1 extends JPanel { > > >>>> added: private JList speciesCheckList; > > >>>> > > >>>> private JPanel getContentPanel () { > > >>>> underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... > > >>>> > > >>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > > >>>> > > >>>> // registered the listeners > > >>>> speciesCheckList.addListSelectionListener ( new ListSelectionListener () { > > >>>> // handle list selection > > >>>> public void valueChanged ( ListSelectionEvent e ) { > > >>>> // get selected indices > > >>>> int [] indices = speciesCheckList.getSelectedIndices (); > > >>>> } > > >>>> }); > > >>>> > > >>>> added: //leftPanel.add ( speciesComboBox ); > > >>>> leftPanel.add ( speciesCheckList ); > > >>>> > > >>>> The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? > > >>>> > > >>>> So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? > > >>>> > > >>>> Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. > > >>>> > > >>>> Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. > > >>>> > > >>>> Dondi - I'm looking forward to your suggestions and assistance!!! > > >>>> > > >>>> Richard > > >>>> > > >>>> > > >>>> > > >>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> wrote: > > >>>> Hi Rich, > > >>>> > > >>>> OK, thanks for the discussion setup. We'll work through this during the call. > > >>>> > > >>>> John David N. Dionisio, PhD > > >>>> Associate Professor, Computer Science > > >>>> Loyola Marymount University > > >>>> > > >>>> > > >>>> > > >>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > >>>> > > >>>>> Update on status: > > >>>>> > > >>>>> Over the past two weeks I have spent time doing the following: > > >>>>> > > >>>>> 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 > > >>>>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > > >>>>> 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. > > >>>>> > > >>>>> Current actions: > > >>>>> > > >>>>> During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. > > >>>>> > > >>>>> The process being the following steps: > > >>>>> > > >>>>> 1. Grab all the taxon ids from the Postgres db > > >>>>> The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. > > >>>>> > > >>>>> 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. > > >>>>> > > >>>>> The current iteration compares each taxon id in ResultSet result variable. > > >>>>> First taxon id from result: > > >>>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > > >>>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > > >>>>> > > >>>>> Next taxon id from result > > >>>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > > >>>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > > >>>>> > > >>>>> Repeat until no more taxon ids are found in ResultSet result variable. > > >>>>> > > >>>>> 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. > > >>>>> > > >>>>> Use the getSelectedIndices method for JList to determine which species have been selected for export. > > >>>>> > > >>>>> 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. > > >>>>> details to be determined. > > >>>>> > > >>>>> ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > >>>>> > > >>>>> > > >>>>> Discussion for tomorrows call: > > >>>>> > > >>>>> > > >>>>> We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. > > >>>>> > > >>>>> Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? > > >>>>> > > >>>>> The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. > > >>>>> > > >>>>> Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. > > >>>>> > > >>>>> My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. > > >>>>> > > >>>>> I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > > >>>>> > > >>>>> > > >>>>> Anyway, I look forward to our call at 9am tomorrow. > > >>>>> > > >>>>> Richard > > >>>>> <ATT00001..txt><ATT00002..txt> > > >>>> > > >>>> > > >>>> ------------------------------------------------------------------------------ > > >>>> All of the data generated in your IT infrastructure is seriously valuable. > > >>>> Why? It contains a definitive record of application performance, security > > >>>> threats, fraudulent activity, and more. Splunk takes this data and makes > > >>>> sense of it. IT sense. And common sense. > > >>>> http://p.sf.net/sfu/splunk-d2d-c2 > > >>>> _______________________________________________ > > >>>> xmlpipedb-developer mailing list > > >>>> xml...@li... > > >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>> > > >>>> <ATT00001..txt><ATT00002..txt> > > >>> > > >>> > > >>> ------------------------------------------------------------------------------ > > >>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > >>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >>> Secrets Revealed." This video shows you how to validate your ideas, > > >>> optimize your ideas and identify your business strategy. > > >>> http://p.sf.net/sfu/appsumosfdev2dev > > >>> _______________________________________________ > > >>> xmlpipedb-developer mailing list > > >>> xml...@li... > > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >> > > >> ------------------------------------------------------------------------------ > > >> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > >> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >> Secrets Revealed." This video shows you how to validate your ideas, > > >> optimize your ideas and identify your business strategy. > > >> http://p.sf.net/sfu/appsumosfdev2dev > > >> _______________________________________________ > > >> xmlpipedb-developer mailing list > > >> xml...@li... > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > > > > ------------------------------------------------------------------------------ > > > Magic Quadrant for Content-Aware Data Loss Prevention > > > Research study explores the data loss prevention market. Includes in-depth > > > analysis on the changes within the DLP market, and the criteria used to > > > evaluate the strengths and weaknesses of these DLP solutions. > > > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > > _______________________________________________ > > > xmlpipedb-developer mailing list > > > xml...@li... > > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > 10 Tips for Better Web Security > Learn 10 ways to better secure your business today. Topics covered include: > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > security Microsoft Exchange, secure Instant Messaging, and much more. > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-07-20 15:25:21
|
OK, I am forced to push to tomorrow now because our nanny is stuck in traffic, christina is back at the hospital and I have to drive my boys to MDR for their camp. I'm sorry this is so crazy but all is upside down atm. I already have a bunch of questions which I will lay out via email since they are more high level than can be placed in code comments... at least I think so atm. Either way come hell or high-water I'll get another iteration on this prior to a call. rb On Tue, Jul 19, 2011 at 11:21 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > Sorry to hear about your mother-in-law. Hospital wait states are never > fun. > > I can do Thursday morning at 9am if needed. Let's watch the e-mail in the > morning to see if Kam can do that too; if so, then Thursday it is, but if > not, then we can still push for Wednesday 9am. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > > On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > > > ok, can't get a break... sitting in the ER after admitting my mother in > law at St. Johns in Santa Monica. We are waiting to get her a bed but not > sure how long it will take. > > > > Luckily I have my laptop with me so I was able to scan the new code with > all the Dondi comments and compile a build which runs. I will review Dondi's > changes as best I can from here but likely won't be able to do much with it > by our call tomorrow. > > > > I'm happy to push our call to Thursday morning instead of tomorrow to > allow more time... but it is late so unless I hear otherwise, tomorrow at > 9am is still a go. > > > > Richard > > > > On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous <rbr...@gm...> > wrote: > > Thanks will review later this afternoon. Sorry got hung up on this but > continuing forward comments in code should speed this way up. > > > > Rb > > > > Sent from my iPhone > > > > On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" <do...@lm...> > wrote: > > > > > Greetings, > > > > > > OK, my responses are committed. As noted in my "Dondi -" comments, you > were fairly close. The main miss was how AbstractListModel was to be used. > Give it a gander and holler if anything else remains unclear. > > > > > > At this point, you'll need to start managing what should happen as the > user selects/deselects species. You'll also want that little informational > panel on the right that summarizes (for tech types) whether the selected > species will be using a customized species profile or the generic one. > > > > > > Carry on, see how this goes. :) > > > > > > John David N. Dionisio, PhD > > > Associate Professor, Computer Science > > > Loyola Marymount University > > > > > > > > > On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > > > > >> Ok , took the code as far as I could and submitted export 1 - > unfortunately broken code even though I made a point not to by commenting > out unfinished blocks. Take a look at the commit comments for info. > > >> > > >> I look forward to your comments which I'm sure will help straighten > this out! > > >> > > >> Rb > > >> > > >> Sent from my iPhone > > >> > > >> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> > wrote: > > >> > > >>> Hi there, > > >>> > > >>> A code-oriented session is OK with me, though this particular > question I can take a stab at via e-mail. > > >>> > > >>> The trick with full control of a JList is to implement its model (a > ListModel). For this, I usually create a subclass of AbstractListModel and > implement the missing methods. This AbstractListModel subclass should be > able to see the list of species found. Then, the implementations of its > missing methods would be based on that list of species. > > >>> > > >>> With this ListModel class in hand, keeping the JList up to date is a > matter of instantiating the JList with this model: > > >>> > > >>> SpeciesListModel speciesListModel = new SpeciesListModel(); > > >>> speciesCheckList = new JList(speciesListModel); > > >>> > > >>> If the species list changes, have the species list model fire the > appropriate list change event (the JavaDoc API has a bunch of fire* > methods). To keep things simple, there is a "full update" event which just > says "rebuild the entire JList." That one should be OK. There are > finer-grained ones like "something got inserted" and "something got > removed," but that really is more for optimization purposes. > > >>> > > >>> As for the text display, the simplest approach is to implement the > toString method of the SpeciesProfile class so that they return something > that is appropriate for a JList. Sometimes that is too limiting though. If > you want greater flexibility, you will want to implement a ListCellRenderer. > There is a class called DefaultListCellRenderer that you can extend. > Typically the subclass would call the superclass's method, which returns a > JLabel. You can then change the content of the JLabel according to the list > item that you are trying to display. > > >>> > > >>> See if these leads are enough to go on. If not, I can talk you > through them more during the call. > > >>> > > >>> John David N. Dionisio, PhD > > >>> Associate Professor, Computer Science > > >>> Loyola Marymount University > > >>> > > >>> > > >>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > > >>> > > >>>> Update for tomorrow 7/13/11: > > >>>> > > >>>> Clear on what I need to do but can't seem to figure out a way to do > it. I think the best use of our time tomorrow is to make it a code > discussion session (giving Dr. Dahlquist the opportunity to bow out if so > inclined) > > >>>> > > >>>> 1. In regard to the JList, I have been working on the best way to > implement it but am getting stuck on how to populate it and where to do so > in the code. > > >>>> > > >>>> I'm currently working in ExportPanel1.java and have done the > following so far: > > >>>> > > >>>> imported JList; > > >>>> imported javax.swing.event.*; > > >>>> > > >>>> > > >>>> public class ExportPanel1 extends JPanel { > > >>>> added: private JList speciesCheckList; > > >>>> > > >>>> private JPanel getContentPanel () { > > >>>> underneath the species combo box entry // species | JComboBox | > speciesFound |JLabel | Description | ... > > >>>> > > >>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > > >>>> > > >>>> // registered the listeners > > >>>> speciesCheckList.addListSelectionListener ( new > ListSelectionListener () { > > >>>> // handle list selection > > >>>> public void valueChanged ( ListSelectionEvent e ) { > > >>>> // get selected indices > > >>>> int [] indices = speciesCheckList.getSelectedIndices (); > > >>>> } > > >>>> }); > > >>>> > > >>>> added: //leftPanel.add ( speciesComboBox ); > > >>>> leftPanel.add ( speciesCheckList ); > > >>>> > > >>>> The real issue here is how to populate the JList... I took a look at > the constructors but can't determine a way to populate it after > instantiation... maybe using abstract class somehow? > > >>>> > > >>>> So instead I have been working to add the speciesProfilesFound [] > ArrayList as a constructor argument. Then I can pre-populate it prior to the > contentPanel being initialized???... or possibly similar to the init() > method which pre-populates the Database profileComboBox? > > >>>> > > >>>> Once the initital population of the JList is done we can modify it > for the later methods which dynamically alter content in > databaseProfileSelected() and speciesProfileSelected(). This will effect the > selectedSpeciesProfile() method usage and its getter and setter. > > >>>> > > >>>> Also we can then work on the text indication which dynamically shows > the selected species and whether a custom or generic profile has been > associated. > > >>>> > > >>>> Dondi - I'm looking forward to your suggestions and assistance!!! > > >>>> > > >>>> Richard > > >>>> > > >>>> > > >>>> > > >>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio < > do...@lm...> wrote: > > >>>> Hi Rich, > > >>>> > > >>>> OK, thanks for the discussion setup. We'll work through this during > the call. > > >>>> > > >>>> John David N. Dionisio, PhD > > >>>> Associate Professor, Computer Science > > >>>> Loyola Marymount University > > >>>> > > >>>> > > >>>> > > >>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > >>>> > > >>>>> Update on status: > > >>>>> > > >>>>> Over the past two weeks I have spent time doing the following: > > >>>>> > > >>>>> 1. Reviewed the taxon id code changes which Don Murphy coded and > were merged to create version 2.0 b64 > > >>>>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, > SpeciesProfile, Profile and DatabaseProfile files > > >>>>> 3. Reviewed and discussed the process by which GenMAPP matches > single taxon ids found in a Postgres db with the known species profiles. > > >>>>> > > >>>>> Current actions: > > >>>>> > > >>>>> During the last few days I have started coding in the ability for > the species matching functionality to surface multiple taxon ids from within > a Postgres db. > > >>>>> > > >>>>> The process being the following steps: > > >>>>> > > >>>>> 1. Grab all the taxon ids from the Postgres db > > >>>>> The current iteration of the software already does this. In the > checkRequirements method in UniprotDatabaseProfile.java, a query of the > Postgres db acquires all taxon id's and stores them in ResultSet result > variable. > > >>>>> > > >>>>> 2. Check to find match between the taxon ids from Postgres against > existing species profiles for known species. > > >>>>> > > >>>>> The current iteration compares each taxon id in ResultSet result > variable. > > >>>>> First taxon id from result: > > >>>>> If match was found, then that species profile with associated taxon > id was added to the speciesProfilesFound arraylist. > > >>>>> If no match was found, a generic species profile associated with > the current taxon id was added to the speciesProfilesFound arraylist. > > >>>>> > > >>>>> Next taxon id from result > > >>>>> If match was found, then that species profile with associated taxon > id was added to the speciesProfilesFound arraylist. > > >>>>> If no match was found, a generic species profile associated with > the current taxon id was added to the speciesProfilesFound arraylist. > > >>>>> > > >>>>> Repeat until no more taxon ids are found in ResultSet result > variable. > > >>>>> > > >>>>> 3. Replace the JComboBox with a JList to allow the user to choose a > selection of multiple species to export. > > >>>>> > > >>>>> Use the getSelectedIndices method for JList to determine which > species have been selected for export. > > >>>>> > > >>>>> 4. Modify the export process to run a pass for each species > selected to generate a multispecies gdb. > > >>>>> details to be determined. > > >>>>> > > >>>>> > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > >>>>> > > >>>>> > > >>>>> Discussion for tomorrows call: > > >>>>> > > >>>>> > > >>>>> We previously discussed allowing user input to manually add taxon > ids and associate them to the generic profile. > > >>>>> > > >>>>> Unless I don't really understand the reasoning behind this, it > seems to me that it is unnecessary. Why would we add a taxon id during the > export process that isn't already in the Postgres data? > > >>>>> > > >>>>> The current implementation already captures every taxon id in > speciesProfilesFound regardless if its a known species or not. So it seems > that we don't need to make any modifications in surfacing taxon ids from a > Postgres db. > > >>>>> > > >>>>> Then we can go directly to #3 above which I have mostly coded, but > can't seem to figure out how and where to populate the JList. In reviewing > constructor documentation it indicates 4 ways to instantiate. > > >>>>> > > >>>>> My first choice was to create an empty JList [ JList () ] and > populate it later but I don't see a method to do so such as addItems or > something similar. > > >>>>> > > >>>>> I then tried to instantiate with speciesProfileFound as an array > argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > > >>>>> > > >>>>> > > >>>>> Anyway, I look forward to our call at 9am tomorrow. > > >>>>> > > >>>>> Richard > > >>>>> <ATT00001..txt><ATT00002..txt> > > >>>> > > >>>> > > >>>> > ------------------------------------------------------------------------------ > > >>>> All of the data generated in your IT infrastructure is seriously > valuable. > > >>>> Why? It contains a definitive record of application performance, > security > > >>>> threats, fraudulent activity, and more. Splunk takes this data and > makes > > >>>> sense of it. IT sense. And common sense. > > >>>> http://p.sf.net/sfu/splunk-d2d-c2 > > >>>> _______________________________________________ > > >>>> xmlpipedb-developer mailing list > > >>>> xml...@li... > > >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >>>> > > >>>> <ATT00001..txt><ATT00002..txt> > > >>> > > >>> > > >>> > ------------------------------------------------------------------------------ > > >>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > >>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >>> Secrets Revealed." This video shows you how to validate your ideas, > > >>> optimize your ideas and identify your business strategy. > > >>> http://p.sf.net/sfu/appsumosfdev2dev > > >>> _______________________________________________ > > >>> xmlpipedb-developer mailing list > > >>> xml...@li... > > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >> > > >> > ------------------------------------------------------------------------------ > > >> AppSumo Presents a FREE Video for the SourceForge Community by Eric > > >> Ries, the creator of the Lean Startup Methodology on "Lean Startup > > >> Secrets Revealed." This video shows you how to validate your ideas, > > >> optimize your ideas and identify your business strategy. > > >> http://p.sf.net/sfu/appsumosfdev2dev > > >> _______________________________________________ > > >> xmlpipedb-developer mailing list > > >> xml...@li... > > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > > > > > ------------------------------------------------------------------------------ > > > Magic Quadrant for Content-Aware Data Loss Prevention > > > Research study explores the data loss prevention market. Includes > in-depth > > > analysis on the changes within the DLP market, and the criteria used to > > > evaluate the strengths and weaknesses of these DLP solutions. > > > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > > _______________________________________________ > > > xmlpipedb-developer mailing list > > > xml...@li... > > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > 10 Tips for Better Web Security > Learn 10 ways to better secure your business today. Topics covered include: > Web security, SSL, hacker attacks & Denial of Service (DoS), private keys, > security Microsoft Exchange, secure Instant Messaging, and much more. > http://www.accelacomm.com/jaw/sfnl/114/51426210/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-07-20 06:21:26
|
Hi Rich, Sorry to hear about your mother-in-law. Hospital wait states are never fun. I can do Thursday morning at 9am if needed. Let's watch the e-mail in the morning to see if Kam can do that too; if so, then Thursday it is, but if not, then we can still push for Wednesday 9am. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 19, 2011, at 10:26 PM, Richard Brous wrote: > ok, can't get a break... sitting in the ER after admitting my mother in law at St. Johns in Santa Monica. We are waiting to get her a bed but not sure how long it will take. > > Luckily I have my laptop with me so I was able to scan the new code with all the Dondi comments and compile a build which runs. I will review Dondi's changes as best I can from here but likely won't be able to do much with it by our call tomorrow. > > I'm happy to push our call to Thursday morning instead of tomorrow to allow more time... but it is late so unless I hear otherwise, tomorrow at 9am is still a go. > > Richard > > On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous <rbr...@gm...> wrote: > Thanks will review later this afternoon. Sorry got hung up on this but continuing forward comments in code should speed this way up. > > Rb > > Sent from my iPhone > > On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" <do...@lm...> wrote: > > > Greetings, > > > > OK, my responses are committed. As noted in my "Dondi -" comments, you were fairly close. The main miss was how AbstractListModel was to be used. Give it a gander and holler if anything else remains unclear. > > > > At this point, you'll need to start managing what should happen as the user selects/deselects species. You'll also want that little informational panel on the right that summarizes (for tech types) whether the selected species will be using a customized species profile or the generic one. > > > > Carry on, see how this goes. :) > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Loyola Marymount University > > > > > > On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > > >> Ok , took the code as far as I could and submitted export 1 - unfortunately broken code even though I made a point not to by commenting out unfinished blocks. Take a look at the commit comments for info. > >> > >> I look forward to your comments which I'm sure will help straighten this out! > >> > >> Rb > >> > >> Sent from my iPhone > >> > >> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> wrote: > >> > >>> Hi there, > >>> > >>> A code-oriented session is OK with me, though this particular question I can take a stab at via e-mail. > >>> > >>> The trick with full control of a JList is to implement its model (a ListModel). For this, I usually create a subclass of AbstractListModel and implement the missing methods. This AbstractListModel subclass should be able to see the list of species found. Then, the implementations of its missing methods would be based on that list of species. > >>> > >>> With this ListModel class in hand, keeping the JList up to date is a matter of instantiating the JList with this model: > >>> > >>> SpeciesListModel speciesListModel = new SpeciesListModel(); > >>> speciesCheckList = new JList(speciesListModel); > >>> > >>> If the species list changes, have the species list model fire the appropriate list change event (the JavaDoc API has a bunch of fire* methods). To keep things simple, there is a "full update" event which just says "rebuild the entire JList." That one should be OK. There are finer-grained ones like "something got inserted" and "something got removed," but that really is more for optimization purposes. > >>> > >>> As for the text display, the simplest approach is to implement the toString method of the SpeciesProfile class so that they return something that is appropriate for a JList. Sometimes that is too limiting though. If you want greater flexibility, you will want to implement a ListCellRenderer. There is a class called DefaultListCellRenderer that you can extend. Typically the subclass would call the superclass's method, which returns a JLabel. You can then change the content of the JLabel according to the list item that you are trying to display. > >>> > >>> See if these leads are enough to go on. If not, I can talk you through them more during the call. > >>> > >>> John David N. Dionisio, PhD > >>> Associate Professor, Computer Science > >>> Loyola Marymount University > >>> > >>> > >>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > >>> > >>>> Update for tomorrow 7/13/11: > >>>> > >>>> Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) > >>>> > >>>> 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. > >>>> > >>>> I'm currently working in ExportPanel1.java and have done the following so far: > >>>> > >>>> imported JList; > >>>> imported javax.swing.event.*; > >>>> > >>>> > >>>> public class ExportPanel1 extends JPanel { > >>>> added: private JList speciesCheckList; > >>>> > >>>> private JPanel getContentPanel () { > >>>> underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... > >>>> > >>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > >>>> > >>>> // registered the listeners > >>>> speciesCheckList.addListSelectionListener ( new ListSelectionListener () { > >>>> // handle list selection > >>>> public void valueChanged ( ListSelectionEvent e ) { > >>>> // get selected indices > >>>> int [] indices = speciesCheckList.getSelectedIndices (); > >>>> } > >>>> }); > >>>> > >>>> added: //leftPanel.add ( speciesComboBox ); > >>>> leftPanel.add ( speciesCheckList ); > >>>> > >>>> The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? > >>>> > >>>> So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? > >>>> > >>>> Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. > >>>> > >>>> Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. > >>>> > >>>> Dondi - I'm looking forward to your suggestions and assistance!!! > >>>> > >>>> Richard > >>>> > >>>> > >>>> > >>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> wrote: > >>>> Hi Rich, > >>>> > >>>> OK, thanks for the discussion setup. We'll work through this during the call. > >>>> > >>>> John David N. Dionisio, PhD > >>>> Associate Professor, Computer Science > >>>> Loyola Marymount University > >>>> > >>>> > >>>> > >>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > >>>> > >>>>> Update on status: > >>>>> > >>>>> Over the past two weeks I have spent time doing the following: > >>>>> > >>>>> 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 > >>>>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > >>>>> 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. > >>>>> > >>>>> Current actions: > >>>>> > >>>>> During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. > >>>>> > >>>>> The process being the following steps: > >>>>> > >>>>> 1. Grab all the taxon ids from the Postgres db > >>>>> The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. > >>>>> > >>>>> 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. > >>>>> > >>>>> The current iteration compares each taxon id in ResultSet result variable. > >>>>> First taxon id from result: > >>>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > >>>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > >>>>> > >>>>> Next taxon id from result > >>>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > >>>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > >>>>> > >>>>> Repeat until no more taxon ids are found in ResultSet result variable. > >>>>> > >>>>> 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. > >>>>> > >>>>> Use the getSelectedIndices method for JList to determine which species have been selected for export. > >>>>> > >>>>> 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. > >>>>> details to be determined. > >>>>> > >>>>> ----------------------------------------------------------------------------------------------------------------------------------------------------------- > >>>>> > >>>>> > >>>>> Discussion for tomorrows call: > >>>>> > >>>>> > >>>>> We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. > >>>>> > >>>>> Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? > >>>>> > >>>>> The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. > >>>>> > >>>>> Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. > >>>>> > >>>>> My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. > >>>>> > >>>>> I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > >>>>> > >>>>> > >>>>> Anyway, I look forward to our call at 9am tomorrow. > >>>>> > >>>>> Richard > >>>>> <ATT00001..txt><ATT00002..txt> > >>>> > >>>> > >>>> ------------------------------------------------------------------------------ > >>>> All of the data generated in your IT infrastructure is seriously valuable. > >>>> Why? It contains a definitive record of application performance, security > >>>> threats, fraudulent activity, and more. Splunk takes this data and makes > >>>> sense of it. IT sense. And common sense. > >>>> http://p.sf.net/sfu/splunk-d2d-c2 > >>>> _______________________________________________ > >>>> xmlpipedb-developer mailing list > >>>> xml...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>>> > >>>> <ATT00001..txt><ATT00002..txt> > >>> > >>> > >>> ------------------------------------------------------------------------------ > >>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > >>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > >>> Secrets Revealed." This video shows you how to validate your ideas, > >>> optimize your ideas and identify your business strategy. > >>> http://p.sf.net/sfu/appsumosfdev2dev > >>> _______________________________________________ > >>> xmlpipedb-developer mailing list > >>> xml...@li... > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> ------------------------------------------------------------------------------ > >> AppSumo Presents a FREE Video for the SourceForge Community by Eric > >> Ries, the creator of the Lean Startup Methodology on "Lean Startup > >> Secrets Revealed." This video shows you how to validate your ideas, > >> optimize your ideas and identify your business strategy. > >> http://p.sf.net/sfu/appsumosfdev2dev > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > ------------------------------------------------------------------------------ > > Magic Quadrant for Content-Aware Data Loss Prevention > > Research study explores the data loss prevention market. Includes in-depth > > analysis on the changes within the DLP market, and the criteria used to > > evaluate the strengths and weaknesses of these DLP solutions. > > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-07-20 05:26:29
|
ok, can't get a break... sitting in the ER after admitting my mother in law at St. Johns in Santa Monica. We are waiting to get her a bed but not sure how long it will take. Luckily I have my laptop with me so I was able to scan the new code with all the Dondi comments and compile a build which runs. I will review Dondi's changes as best I can from here but likely won't be able to do much with it by our call tomorrow. I'm happy to push our call to Thursday morning instead of tomorrow to allow more time... but it is late so unless I hear otherwise, tomorrow at 9am is still a go. Richard On Tue, Jul 19, 2011 at 3:00 PM, Richard Brous <rbr...@gm...> wrote: > Thanks will review later this afternoon. Sorry got hung up on this but > continuing forward comments in code should speed this way up. > > Rb > > Sent from my iPhone > > On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" <do...@lm...> > wrote: > > > Greetings, > > > > OK, my responses are committed. As noted in my "Dondi -" comments, you > were fairly close. The main miss was how AbstractListModel was to be used. > Give it a gander and holler if anything else remains unclear. > > > > At this point, you'll need to start managing what should happen as the > user selects/deselects species. You'll also want that little informational > panel on the right that summarizes (for tech types) whether the selected > species will be using a customized species profile or the generic one. > > > > Carry on, see how this goes. :) > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Loyola Marymount University > > > > > > On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > > > >> Ok , took the code as far as I could and submitted export 1 - > unfortunately broken code even though I made a point not to by commenting > out unfinished blocks. Take a look at the commit comments for info. > >> > >> I look forward to your comments which I'm sure will help straighten this > out! > >> > >> Rb > >> > >> Sent from my iPhone > >> > >> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> > wrote: > >> > >>> Hi there, > >>> > >>> A code-oriented session is OK with me, though this particular question > I can take a stab at via e-mail. > >>> > >>> The trick with full control of a JList is to implement its model (a > ListModel). For this, I usually create a subclass of AbstractListModel and > implement the missing methods. This AbstractListModel subclass should be > able to see the list of species found. Then, the implementations of its > missing methods would be based on that list of species. > >>> > >>> With this ListModel class in hand, keeping the JList up to date is a > matter of instantiating the JList with this model: > >>> > >>> SpeciesListModel speciesListModel = new SpeciesListModel(); > >>> speciesCheckList = new JList(speciesListModel); > >>> > >>> If the species list changes, have the species list model fire the > appropriate list change event (the JavaDoc API has a bunch of fire* > methods). To keep things simple, there is a "full update" event which just > says "rebuild the entire JList." That one should be OK. There are > finer-grained ones like "something got inserted" and "something got > removed," but that really is more for optimization purposes. > >>> > >>> As for the text display, the simplest approach is to implement the > toString method of the SpeciesProfile class so that they return something > that is appropriate for a JList. Sometimes that is too limiting though. If > you want greater flexibility, you will want to implement a ListCellRenderer. > There is a class called DefaultListCellRenderer that you can extend. > Typically the subclass would call the superclass's method, which returns a > JLabel. You can then change the content of the JLabel according to the list > item that you are trying to display. > >>> > >>> See if these leads are enough to go on. If not, I can talk you through > them more during the call. > >>> > >>> John David N. Dionisio, PhD > >>> Associate Professor, Computer Science > >>> Loyola Marymount University > >>> > >>> > >>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > >>> > >>>> Update for tomorrow 7/13/11: > >>>> > >>>> Clear on what I need to do but can't seem to figure out a way to do > it. I think the best use of our time tomorrow is to make it a code > discussion session (giving Dr. Dahlquist the opportunity to bow out if so > inclined) > >>>> > >>>> 1. In regard to the JList, I have been working on the best way to > implement it but am getting stuck on how to populate it and where to do so > in the code. > >>>> > >>>> I'm currently working in ExportPanel1.java and have done the following > so far: > >>>> > >>>> imported JList; > >>>> imported javax.swing.event.*; > >>>> > >>>> > >>>> public class ExportPanel1 extends JPanel { > >>>> added: private JList speciesCheckList; > >>>> > >>>> private JPanel getContentPanel () { > >>>> underneath the species combo box entry // species | JComboBox | > speciesFound |JLabel | Description | ... > >>>> > >>>> added: speciesCheckList = new JList ( speciesProfilesFound ); > >>>> > >>>> // registered the listeners > >>>> speciesCheckList.addListSelectionListener ( new ListSelectionListener > () { > >>>> // handle list selection > >>>> public void valueChanged ( ListSelectionEvent e ) { > >>>> // get selected indices > >>>> int [] indices = speciesCheckList.getSelectedIndices (); > >>>> } > >>>> }); > >>>> > >>>> added: //leftPanel.add ( speciesComboBox ); > >>>> leftPanel.add ( speciesCheckList ); > >>>> > >>>> The real issue here is how to populate the JList... I took a look at > the constructors but can't determine a way to populate it after > instantiation... maybe using abstract class somehow? > >>>> > >>>> So instead I have been working to add the speciesProfilesFound [] > ArrayList as a constructor argument. Then I can pre-populate it prior to the > contentPanel being initialized???... or possibly similar to the init() > method which pre-populates the Database profileComboBox? > >>>> > >>>> Once the initital population of the JList is done we can modify it for > the later methods which dynamically alter content in > databaseProfileSelected() and speciesProfileSelected(). This will effect the > selectedSpeciesProfile() method usage and its getter and setter. > >>>> > >>>> Also we can then work on the text indication which dynamically shows > the selected species and whether a custom or generic profile has been > associated. > >>>> > >>>> Dondi - I'm looking forward to your suggestions and assistance!!! > >>>> > >>>> Richard > >>>> > >>>> > >>>> > >>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio < > do...@lm...> wrote: > >>>> Hi Rich, > >>>> > >>>> OK, thanks for the discussion setup. We'll work through this during > the call. > >>>> > >>>> John David N. Dionisio, PhD > >>>> Associate Professor, Computer Science > >>>> Loyola Marymount University > >>>> > >>>> > >>>> > >>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > >>>> > >>>>> Update on status: > >>>>> > >>>>> Over the past two weeks I have spent time doing the following: > >>>>> > >>>>> 1. Reviewed the taxon id code changes which Don Murphy coded and were > merged to create version 2.0 b64 > >>>>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, > SpeciesProfile, Profile and DatabaseProfile files > >>>>> 3. Reviewed and discussed the process by which GenMAPP matches single > taxon ids found in a Postgres db with the known species profiles. > >>>>> > >>>>> Current actions: > >>>>> > >>>>> During the last few days I have started coding in the ability for the > species matching functionality to surface multiple taxon ids from within a > Postgres db. > >>>>> > >>>>> The process being the following steps: > >>>>> > >>>>> 1. Grab all the taxon ids from the Postgres db > >>>>> The current iteration of the software already does this. In the > checkRequirements method in UniprotDatabaseProfile.java, a query of the > Postgres db acquires all taxon id's and stores them in ResultSet result > variable. > >>>>> > >>>>> 2. Check to find match between the taxon ids from Postgres against > existing species profiles for known species. > >>>>> > >>>>> The current iteration compares each taxon id in ResultSet result > variable. > >>>>> First taxon id from result: > >>>>> If match was found, then that species profile with associated taxon > id was added to the speciesProfilesFound arraylist. > >>>>> If no match was found, a generic species profile associated with the > current taxon id was added to the speciesProfilesFound arraylist. > >>>>> > >>>>> Next taxon id from result > >>>>> If match was found, then that species profile with associated taxon > id was added to the speciesProfilesFound arraylist. > >>>>> If no match was found, a generic species profile associated with the > current taxon id was added to the speciesProfilesFound arraylist. > >>>>> > >>>>> Repeat until no more taxon ids are found in ResultSet result > variable. > >>>>> > >>>>> 3. Replace the JComboBox with a JList to allow the user to choose a > selection of multiple species to export. > >>>>> > >>>>> Use the getSelectedIndices method for JList to determine which > species have been selected for export. > >>>>> > >>>>> 4. Modify the export process to run a pass for each species selected > to generate a multispecies gdb. > >>>>> details to be determined. > >>>>> > >>>>> > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > >>>>> > >>>>> > >>>>> Discussion for tomorrows call: > >>>>> > >>>>> > >>>>> We previously discussed allowing user input to manually add taxon ids > and associate them to the generic profile. > >>>>> > >>>>> Unless I don't really understand the reasoning behind this, it seems > to me that it is unnecessary. Why would we add a taxon id during the export > process that isn't already in the Postgres data? > >>>>> > >>>>> The current implementation already captures every taxon id in > speciesProfilesFound regardless if its a known species or not. So it seems > that we don't need to make any modifications in surfacing taxon ids from a > Postgres db. > >>>>> > >>>>> Then we can go directly to #3 above which I have mostly coded, but > can't seem to figure out how and where to populate the JList. In reviewing > constructor documentation it indicates 4 ways to instantiate. > >>>>> > >>>>> My first choice was to create an empty JList [ JList () ] and > populate it later but I don't see a method to do so such as addItems or > something similar. > >>>>> > >>>>> I then tried to instantiate with speciesProfileFound as an array > argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > >>>>> > >>>>> > >>>>> Anyway, I look forward to our call at 9am tomorrow. > >>>>> > >>>>> Richard > >>>>> <ATT00001..txt><ATT00002..txt> > >>>> > >>>> > >>>> > ------------------------------------------------------------------------------ > >>>> All of the data generated in your IT infrastructure is seriously > valuable. > >>>> Why? It contains a definitive record of application performance, > security > >>>> threats, fraudulent activity, and more. Splunk takes this data and > makes > >>>> sense of it. IT sense. And common sense. > >>>> http://p.sf.net/sfu/splunk-d2d-c2 > >>>> _______________________________________________ > >>>> xmlpipedb-developer mailing list > >>>> xml...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >>>> > >>>> <ATT00001..txt><ATT00002..txt> > >>> > >>> > >>> > ------------------------------------------------------------------------------ > >>> AppSumo Presents a FREE Video for the SourceForge Community by Eric > >>> Ries, the creator of the Lean Startup Methodology on "Lean Startup > >>> Secrets Revealed." This video shows you how to validate your ideas, > >>> optimize your ideas and identify your business strategy. > >>> http://p.sf.net/sfu/appsumosfdev2dev > >>> _______________________________________________ > >>> xmlpipedb-developer mailing list > >>> xml...@li... > >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > ------------------------------------------------------------------------------ > >> AppSumo Presents a FREE Video for the SourceForge Community by Eric > >> Ries, the creator of the Lean Startup Methodology on "Lean Startup > >> Secrets Revealed." This video shows you how to validate your ideas, > >> optimize your ideas and identify your business strategy. > >> http://p.sf.net/sfu/appsumosfdev2dev > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > > ------------------------------------------------------------------------------ > > Magic Quadrant for Content-Aware Data Loss Prevention > > Research study explores the data loss prevention market. Includes > in-depth > > analysis on the changes within the DLP market, and the criteria used to > > evaluate the strengths and weaknesses of these DLP solutions. > > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: Richard B. <rbr...@gm...> - 2011-07-19 22:00:42
|
Thanks will review later this afternoon. Sorry got hung up on this but continuing forward comments in code should speed this way up. Rb Sent from my iPhone On Jul 19, 2011, at 12:04 AM, "John David N. Dionisio" <do...@lm...> wrote: > Greetings, > > OK, my responses are committed. As noted in my "Dondi -" comments, you were fairly close. The main miss was how AbstractListModel was to be used. Give it a gander and holler if anything else remains unclear. > > At this point, you'll need to start managing what should happen as the user selects/deselects species. You'll also want that little informational panel on the right that summarizes (for tech types) whether the selected species will be using a customized species profile or the generic one. > > Carry on, see how this goes. :) > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > >> Ok , took the code as far as I could and submitted export 1 - unfortunately broken code even though I made a point not to by commenting out unfinished blocks. Take a look at the commit comments for info. >> >> I look forward to your comments which I'm sure will help straighten this out! >> >> Rb >> >> Sent from my iPhone >> >> On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> wrote: >> >>> Hi there, >>> >>> A code-oriented session is OK with me, though this particular question I can take a stab at via e-mail. >>> >>> The trick with full control of a JList is to implement its model (a ListModel). For this, I usually create a subclass of AbstractListModel and implement the missing methods. This AbstractListModel subclass should be able to see the list of species found. Then, the implementations of its missing methods would be based on that list of species. >>> >>> With this ListModel class in hand, keeping the JList up to date is a matter of instantiating the JList with this model: >>> >>> SpeciesListModel speciesListModel = new SpeciesListModel(); >>> speciesCheckList = new JList(speciesListModel); >>> >>> If the species list changes, have the species list model fire the appropriate list change event (the JavaDoc API has a bunch of fire* methods). To keep things simple, there is a "full update" event which just says "rebuild the entire JList." That one should be OK. There are finer-grained ones like "something got inserted" and "something got removed," but that really is more for optimization purposes. >>> >>> As for the text display, the simplest approach is to implement the toString method of the SpeciesProfile class so that they return something that is appropriate for a JList. Sometimes that is too limiting though. If you want greater flexibility, you will want to implement a ListCellRenderer. There is a class called DefaultListCellRenderer that you can extend. Typically the subclass would call the superclass's method, which returns a JLabel. You can then change the content of the JLabel according to the list item that you are trying to display. >>> >>> See if these leads are enough to go on. If not, I can talk you through them more during the call. >>> >>> John David N. Dionisio, PhD >>> Associate Professor, Computer Science >>> Loyola Marymount University >>> >>> >>> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: >>> >>>> Update for tomorrow 7/13/11: >>>> >>>> Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) >>>> >>>> 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. >>>> >>>> I'm currently working in ExportPanel1.java and have done the following so far: >>>> >>>> imported JList; >>>> imported javax.swing.event.*; >>>> >>>> >>>> public class ExportPanel1 extends JPanel { >>>> added: private JList speciesCheckList; >>>> >>>> private JPanel getContentPanel () { >>>> underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... >>>> >>>> added: speciesCheckList = new JList ( speciesProfilesFound ); >>>> >>>> // registered the listeners >>>> speciesCheckList.addListSelectionListener ( new ListSelectionListener () { >>>> // handle list selection >>>> public void valueChanged ( ListSelectionEvent e ) { >>>> // get selected indices >>>> int [] indices = speciesCheckList.getSelectedIndices (); >>>> } >>>> }); >>>> >>>> added: //leftPanel.add ( speciesComboBox ); >>>> leftPanel.add ( speciesCheckList ); >>>> >>>> The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? >>>> >>>> So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? >>>> >>>> Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. >>>> >>>> Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. >>>> >>>> Dondi - I'm looking forward to your suggestions and assistance!!! >>>> >>>> Richard >>>> >>>> >>>> >>>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> wrote: >>>> Hi Rich, >>>> >>>> OK, thanks for the discussion setup. We'll work through this during the call. >>>> >>>> John David N. Dionisio, PhD >>>> Associate Professor, Computer Science >>>> Loyola Marymount University >>>> >>>> >>>> >>>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: >>>> >>>>> Update on status: >>>>> >>>>> Over the past two weeks I have spent time doing the following: >>>>> >>>>> 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 >>>>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files >>>>> 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. >>>>> >>>>> Current actions: >>>>> >>>>> During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. >>>>> >>>>> The process being the following steps: >>>>> >>>>> 1. Grab all the taxon ids from the Postgres db >>>>> The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. >>>>> >>>>> 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. >>>>> >>>>> The current iteration compares each taxon id in ResultSet result variable. >>>>> First taxon id from result: >>>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. >>>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. >>>>> >>>>> Next taxon id from result >>>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. >>>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. >>>>> >>>>> Repeat until no more taxon ids are found in ResultSet result variable. >>>>> >>>>> 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. >>>>> >>>>> Use the getSelectedIndices method for JList to determine which species have been selected for export. >>>>> >>>>> 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. >>>>> details to be determined. >>>>> >>>>> ----------------------------------------------------------------------------------------------------------------------------------------------------------- >>>>> >>>>> >>>>> Discussion for tomorrows call: >>>>> >>>>> >>>>> We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. >>>>> >>>>> Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? >>>>> >>>>> The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. >>>>> >>>>> Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. >>>>> >>>>> My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. >>>>> >>>>> I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. >>>>> >>>>> >>>>> Anyway, I look forward to our call at 9am tomorrow. >>>>> >>>>> Richard >>>>> <ATT00001..txt><ATT00002..txt> >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> All of the data generated in your IT infrastructure is seriously valuable. >>>> Why? It contains a definitive record of application performance, security >>>> threats, fraudulent activity, and more. Splunk takes this data and makes >>>> sense of it. IT sense. And common sense. >>>> http://p.sf.net/sfu/splunk-d2d-c2 >>>> _______________________________________________ >>>> xmlpipedb-developer mailing list >>>> xml...@li... >>>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>>> >>>> <ATT00001..txt><ATT00002..txt> >>> >>> >>> ------------------------------------------------------------------------------ >>> AppSumo Presents a FREE Video for the SourceForge Community by Eric >>> Ries, the creator of the Lean Startup Methodology on "Lean Startup >>> Secrets Revealed." This video shows you how to validate your ideas, >>> optimize your ideas and identify your business strategy. >>> http://p.sf.net/sfu/appsumosfdev2dev >>> _______________________________________________ >>> xmlpipedb-developer mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> ------------------------------------------------------------------------------ >> AppSumo Presents a FREE Video for the SourceForge Community by Eric >> Ries, the creator of the Lean Startup Methodology on "Lean Startup >> Secrets Revealed." This video shows you how to validate your ideas, >> optimize your ideas and identify your business strategy. >> http://p.sf.net/sfu/appsumosfdev2dev >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > ------------------------------------------------------------------------------ > Magic Quadrant for Content-Aware Data Loss Prevention > Research study explores the data loss prevention market. Includes in-depth > analysis on the changes within the DLP market, and the criteria used to > evaluate the strengths and weaknesses of these DLP solutions. > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: John D. N. D. <do...@lm...> - 2011-07-19 07:05:01
|
Greetings, OK, my responses are committed. As noted in my "Dondi -" comments, you were fairly close. The main miss was how AbstractListModel was to be used. Give it a gander and holler if anything else remains unclear. At this point, you'll need to start managing what should happen as the user selects/deselects species. You'll also want that little informational panel on the right that summarizes (for tech types) whether the selected species will be using a customized species profile or the generic one. Carry on, see how this goes. :) John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 18, 2011, at 10:14 AM, Richard Brous wrote: > Ok , took the code as far as I could and submitted export 1 - unfortunately broken code even though I made a point not to by commenting out unfinished blocks. Take a look at the commit comments for info. > > I look forward to your comments which I'm sure will help straighten this out! > > Rb > > Sent from my iPhone > > On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> wrote: > >> Hi there, >> >> A code-oriented session is OK with me, though this particular question I can take a stab at via e-mail. >> >> The trick with full control of a JList is to implement its model (a ListModel). For this, I usually create a subclass of AbstractListModel and implement the missing methods. This AbstractListModel subclass should be able to see the list of species found. Then, the implementations of its missing methods would be based on that list of species. >> >> With this ListModel class in hand, keeping the JList up to date is a matter of instantiating the JList with this model: >> >> SpeciesListModel speciesListModel = new SpeciesListModel(); >> speciesCheckList = new JList(speciesListModel); >> >> If the species list changes, have the species list model fire the appropriate list change event (the JavaDoc API has a bunch of fire* methods). To keep things simple, there is a "full update" event which just says "rebuild the entire JList." That one should be OK. There are finer-grained ones like "something got inserted" and "something got removed," but that really is more for optimization purposes. >> >> As for the text display, the simplest approach is to implement the toString method of the SpeciesProfile class so that they return something that is appropriate for a JList. Sometimes that is too limiting though. If you want greater flexibility, you will want to implement a ListCellRenderer. There is a class called DefaultListCellRenderer that you can extend. Typically the subclass would call the superclass's method, which returns a JLabel. You can then change the content of the JLabel according to the list item that you are trying to display. >> >> See if these leads are enough to go on. If not, I can talk you through them more during the call. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> >> On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: >> >>> Update for tomorrow 7/13/11: >>> >>> Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) >>> >>> 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. >>> >>> I'm currently working in ExportPanel1.java and have done the following so far: >>> >>> imported JList; >>> imported javax.swing.event.*; >>> >>> >>> public class ExportPanel1 extends JPanel { >>> added: private JList speciesCheckList; >>> >>> private JPanel getContentPanel () { >>> underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... >>> >>> added: speciesCheckList = new JList ( speciesProfilesFound ); >>> >>> // registered the listeners >>> speciesCheckList.addListSelectionListener ( new ListSelectionListener () { >>> // handle list selection >>> public void valueChanged ( ListSelectionEvent e ) { >>> // get selected indices >>> int [] indices = speciesCheckList.getSelectedIndices (); >>> } >>> }); >>> >>> added: //leftPanel.add ( speciesComboBox ); >>> leftPanel.add ( speciesCheckList ); >>> >>> The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? >>> >>> So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? >>> >>> Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. >>> >>> Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. >>> >>> Dondi - I'm looking forward to your suggestions and assistance!!! >>> >>> Richard >>> >>> >>> >>> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> wrote: >>> Hi Rich, >>> >>> OK, thanks for the discussion setup. We'll work through this during the call. >>> >>> John David N. Dionisio, PhD >>> Associate Professor, Computer Science >>> Loyola Marymount University >>> >>> >>> >>> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: >>> >>>> Update on status: >>>> >>>> Over the past two weeks I have spent time doing the following: >>>> >>>> 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 >>>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files >>>> 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. >>>> >>>> Current actions: >>>> >>>> During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. >>>> >>>> The process being the following steps: >>>> >>>> 1. Grab all the taxon ids from the Postgres db >>>> The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. >>>> >>>> 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. >>>> >>>> The current iteration compares each taxon id in ResultSet result variable. >>>> First taxon id from result: >>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. >>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. >>>> >>>> Next taxon id from result >>>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. >>>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. >>>> >>>> Repeat until no more taxon ids are found in ResultSet result variable. >>>> >>>> 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. >>>> >>>> Use the getSelectedIndices method for JList to determine which species have been selected for export. >>>> >>>> 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. >>>> details to be determined. >>>> >>>> ----------------------------------------------------------------------------------------------------------------------------------------------------------- >>>> >>>> >>>> Discussion for tomorrows call: >>>> >>>> >>>> We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. >>>> >>>> Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? >>>> >>>> The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. >>>> >>>> Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. >>>> >>>> My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. >>>> >>>> I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. >>>> >>>> >>>> Anyway, I look forward to our call at 9am tomorrow. >>>> >>>> Richard >>>> <ATT00001..txt><ATT00002..txt> >>> >>> >>> ------------------------------------------------------------------------------ >>> All of the data generated in your IT infrastructure is seriously valuable. >>> Why? It contains a definitive record of application performance, security >>> threats, fraudulent activity, and more. Splunk takes this data and makes >>> sense of it. IT sense. And common sense. >>> http://p.sf.net/sfu/splunk-d2d-c2 >>> _______________________________________________ >>> xmlpipedb-developer mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >>> >>> <ATT00001..txt><ATT00002..txt> >> >> >> ------------------------------------------------------------------------------ >> AppSumo Presents a FREE Video for the SourceForge Community by Eric >> Ries, the creator of the Lean Startup Methodology on "Lean Startup >> Secrets Revealed." This video shows you how to validate your ideas, >> optimize your ideas and identify your business strategy. >> http://p.sf.net/sfu/appsumosfdev2dev >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > ------------------------------------------------------------------------------ > AppSumo Presents a FREE Video for the SourceForge Community by Eric > Ries, the creator of the Lean Startup Methodology on "Lean Startup > Secrets Revealed." This video shows you how to validate your ideas, > optimize your ideas and identify your business strategy. > http://p.sf.net/sfu/appsumosfdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: Richard B. <rbr...@gm...> - 2011-07-18 17:14:33
|
Ok , took the code as far as I could and submitted export 1 - unfortunately broken code even though I made a point not to by commenting out unfinished blocks. Take a look at the commit comments for info. I look forward to your comments which I'm sure will help straighten this out! Rb Sent from my iPhone On Jul 12, 2011, at 6:35 PM, "John David N. Dionisio" <do...@lm...> wrote: > Hi there, > > A code-oriented session is OK with me, though this particular question I can take a stab at via e-mail. > > The trick with full control of a JList is to implement its model (a ListModel). For this, I usually create a subclass of AbstractListModel and implement the missing methods. This AbstractListModel subclass should be able to see the list of species found. Then, the implementations of its missing methods would be based on that list of species. > > With this ListModel class in hand, keeping the JList up to date is a matter of instantiating the JList with this model: > > SpeciesListModel speciesListModel = new SpeciesListModel(); > speciesCheckList = new JList(speciesListModel); > > If the species list changes, have the species list model fire the appropriate list change event (the JavaDoc API has a bunch of fire* methods). To keep things simple, there is a "full update" event which just says "rebuild the entire JList." That one should be OK. There are finer-grained ones like "something got inserted" and "something got removed," but that really is more for optimization purposes. > > As for the text display, the simplest approach is to implement the toString method of the SpeciesProfile class so that they return something that is appropriate for a JList. Sometimes that is too limiting though. If you want greater flexibility, you will want to implement a ListCellRenderer. There is a class called DefaultListCellRenderer that you can extend. Typically the subclass would call the superclass's method, which returns a JLabel. You can then change the content of the JLabel according to the list item that you are trying to display. > > See if these leads are enough to go on. If not, I can talk you through them more during the call. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > >> Update for tomorrow 7/13/11: >> >> Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) >> >> 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. >> >> I'm currently working in ExportPanel1.java and have done the following so far: >> >> imported JList; >> imported javax.swing.event.*; >> >> >> public class ExportPanel1 extends JPanel { >> added: private JList speciesCheckList; >> >> private JPanel getContentPanel () { >> underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... >> >> added: speciesCheckList = new JList ( speciesProfilesFound ); >> >> // registered the listeners >> speciesCheckList.addListSelectionListener ( new ListSelectionListener () { >> // handle list selection >> public void valueChanged ( ListSelectionEvent e ) { >> // get selected indices >> int [] indices = speciesCheckList.getSelectedIndices (); >> } >> }); >> >> added: //leftPanel.add ( speciesComboBox ); >> leftPanel.add ( speciesCheckList ); >> >> The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? >> >> So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? >> >> Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. >> >> Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. >> >> Dondi - I'm looking forward to your suggestions and assistance!!! >> >> Richard >> >> >> >> On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> wrote: >> Hi Rich, >> >> OK, thanks for the discussion setup. We'll work through this during the call. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> >> >> On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: >> >>> Update on status: >>> >>> Over the past two weeks I have spent time doing the following: >>> >>> 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 >>> 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files >>> 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. >>> >>> Current actions: >>> >>> During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. >>> >>> The process being the following steps: >>> >>> 1. Grab all the taxon ids from the Postgres db >>> The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. >>> >>> 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. >>> >>> The current iteration compares each taxon id in ResultSet result variable. >>> First taxon id from result: >>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. >>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. >>> >>> Next taxon id from result >>> If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. >>> If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. >>> >>> Repeat until no more taxon ids are found in ResultSet result variable. >>> >>> 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. >>> >>> Use the getSelectedIndices method for JList to determine which species have been selected for export. >>> >>> 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. >>> details to be determined. >>> >>> ----------------------------------------------------------------------------------------------------------------------------------------------------------- >>> >>> >>> Discussion for tomorrows call: >>> >>> >>> We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. >>> >>> Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? >>> >>> The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. >>> >>> Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. >>> >>> My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. >>> >>> I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. >>> >>> >>> Anyway, I look forward to our call at 9am tomorrow. >>> >>> Richard >>> <ATT00001..txt><ATT00002..txt> >> >> >> ------------------------------------------------------------------------------ >> All of the data generated in your IT infrastructure is seriously valuable. >> Why? It contains a definitive record of application performance, security >> threats, fraudulent activity, and more. Splunk takes this data and makes >> sense of it. IT sense. And common sense. >> http://p.sf.net/sfu/splunk-d2d-c2 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > AppSumo Presents a FREE Video for the SourceForge Community by Eric > Ries, the creator of the Lean Startup Methodology on "Lean Startup > Secrets Revealed." This video shows you how to validate your ideas, > optimize your ideas and identify your business strategy. > http://p.sf.net/sfu/appsumosfdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer |
From: Richard B. <rbr...@gm...> - 2011-07-13 02:46:50
|
OK, let me think on your comments and see how far I get. Thanks! rb On Tue, Jul 12, 2011 at 6:35 PM, John David N. Dionisio <do...@lm...>wrote: > Hi there, > > A code-oriented session is OK with me, though this particular question I > can take a stab at via e-mail. > > The trick with full control of a JList is to implement its model (a > ListModel). For this, I usually create a subclass of AbstractListModel and > implement the missing methods. This AbstractListModel subclass should be > able to see the list of species found. Then, the implementations of its > missing methods would be based on that list of species. > > With this ListModel class in hand, keeping the JList up to date is a matter > of instantiating the JList with this model: > > SpeciesListModel speciesListModel = new SpeciesListModel(); > speciesCheckList = new JList(speciesListModel); > > If the species list changes, have the species list model fire the > appropriate list change event (the JavaDoc API has a bunch of fire* > methods). To keep things simple, there is a "full update" event which just > says "rebuild the entire JList." That one should be OK. There are > finer-grained ones like "something got inserted" and "something got > removed," but that really is more for optimization purposes. > > As for the text display, the simplest approach is to implement the toString > method of the SpeciesProfile class so that they return something that is > appropriate for a JList. Sometimes that is too limiting though. If you > want greater flexibility, you will want to implement a ListCellRenderer. > There is a class called DefaultListCellRenderer that you can extend. > Typically the subclass would call the superclass's method, which returns a > JLabel. You can then change the content of the JLabel according to the list > item that you are trying to display. > > See if these leads are enough to go on. If not, I can talk you through > them more during the call. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > > > Update for tomorrow 7/13/11: > > > > Clear on what I need to do but can't seem to figure out a way to do it. I > think the best use of our time tomorrow is to make it a code discussion > session (giving Dr. Dahlquist the opportunity to bow out if so inclined) > > > > 1. In regard to the JList, I have been working on the best way to > implement it but am getting stuck on how to populate it and where to do so > in the code. > > > > I'm currently working in ExportPanel1.java and have done the following so > far: > > > > imported JList; > > imported javax.swing.event.*; > > > > > > public class ExportPanel1 extends JPanel { > > added: private JList speciesCheckList; > > > > private JPanel getContentPanel () { > > underneath the species combo box entry // species | JComboBox | > speciesFound |JLabel | Description | ... > > > > added: speciesCheckList = new JList ( speciesProfilesFound ); > > > > // registered the listeners > > speciesCheckList.addListSelectionListener ( new ListSelectionListener () > { > > // handle list selection > > public void valueChanged ( ListSelectionEvent e ) { > > // get selected indices > > int [] indices = speciesCheckList.getSelectedIndices (); > > } > > }); > > > > added: //leftPanel.add ( speciesComboBox ); > > leftPanel.add ( speciesCheckList ); > > > > The real issue here is how to populate the JList... I took a look at the > constructors but can't determine a way to populate it after instantiation... > maybe using abstract class somehow? > > > > So instead I have been working to add the speciesProfilesFound [] > ArrayList as a constructor argument. Then I can pre-populate it prior to the > contentPanel being initialized???... or possibly similar to the init() > method which pre-populates the Database profileComboBox? > > > > Once the initital population of the JList is done we can modify it for > the later methods which dynamically alter content in > databaseProfileSelected() and speciesProfileSelected(). This will effect the > selectedSpeciesProfile() method usage and its getter and setter. > > > > Also we can then work on the text indication which dynamically shows the > selected species and whether a custom or generic profile has been > associated. > > > > Dondi - I'm looking forward to your suggestions and assistance!!! > > > > Richard > > > > > > > > On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> > wrote: > > Hi Rich, > > > > OK, thanks for the discussion setup. We'll work through this during the > call. > > > > John David N. Dionisio, PhD > > Associate Professor, Computer Science > > Loyola Marymount University > > > > > > > > On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > > > > Update on status: > > > > > > Over the past two weeks I have spent time doing the following: > > > > > > 1. Reviewed the taxon id code changes which Don Murphy coded and were > merged to create version 2.0 b64 > > > 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, > SpeciesProfile, Profile and DatabaseProfile files > > > 3. Reviewed and discussed the process by which GenMAPP matches single > taxon ids found in a Postgres db with the known species profiles. > > > > > > Current actions: > > > > > > During the last few days I have started coding in the ability for the > species matching functionality to surface multiple taxon ids from within a > Postgres db. > > > > > > The process being the following steps: > > > > > > 1. Grab all the taxon ids from the Postgres db > > > The current iteration of the software already does this. In the > checkRequirements method in UniprotDatabaseProfile.java, a query of the > Postgres db acquires all taxon id's and stores them in ResultSet result > variable. > > > > > > 2. Check to find match between the taxon ids from Postgres against > existing species profiles for known species. > > > > > > The current iteration compares each taxon id in ResultSet result > variable. > > > First taxon id from result: > > > If match was found, then that species profile with associated taxon id > was added to the speciesProfilesFound arraylist. > > > If no match was found, a generic species profile associated with the > current taxon id was added to the speciesProfilesFound arraylist. > > > > > > Next taxon id from result > > > If match was found, then that species profile with associated taxon id > was added to the speciesProfilesFound arraylist. > > > If no match was found, a generic species profile associated with the > current taxon id was added to the speciesProfilesFound arraylist. > > > > > > Repeat until no more taxon ids are found in ResultSet result variable. > > > > > > 3. Replace the JComboBox with a JList to allow the user to choose a > selection of multiple species to export. > > > > > > Use the getSelectedIndices method for JList to determine which species > have been selected for export. > > > > > > 4. Modify the export process to run a pass for each species selected > to generate a multispecies gdb. > > > details to be determined. > > > > > > > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > > > > > > Discussion for tomorrows call: > > > > > > > > > We previously discussed allowing user input to manually add taxon ids > and associate them to the generic profile. > > > > > > Unless I don't really understand the reasoning behind this, it seems to > me that it is unnecessary. Why would we add a taxon id during the export > process that isn't already in the Postgres data? > > > > > > The current implementation already captures every taxon id in > speciesProfilesFound regardless if its a known species or not. So it seems > that we don't need to make any modifications in surfacing taxon ids from a > Postgres db. > > > > > > Then we can go directly to #3 above which I have mostly coded, but > can't seem to figure out how and where to populate the JList. In reviewing > constructor documentation it indicates 4 ways to instantiate. > > > > > > My first choice was to create an empty JList [ JList () ] and populate > it later but I don't see a method to do so such as addItems or something > similar. > > > > > > I then tried to instantiate with speciesProfileFound as an array > argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > > > > > > > > > Anyway, I look forward to our call at 9am tomorrow. > > > > > > Richard > > > <ATT00001..txt><ATT00002..txt> > > > > > > > ------------------------------------------------------------------------------ > > All of the data generated in your IT infrastructure is seriously > valuable. > > Why? It contains a definitive record of application performance, security > > threats, fraudulent activity, and more. Splunk takes this data and makes > > sense of it. IT sense. And common sense. > > http://p.sf.net/sfu/splunk-d2d-c2 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > AppSumo Presents a FREE Video for the SourceForge Community by Eric > Ries, the creator of the Lean Startup Methodology on "Lean Startup > Secrets Revealed." This video shows you how to validate your ideas, > optimize your ideas and identify your business strategy. > http://p.sf.net/sfu/appsumosfdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-07-13 01:36:07
|
Hi there, A code-oriented session is OK with me, though this particular question I can take a stab at via e-mail. The trick with full control of a JList is to implement its model (a ListModel). For this, I usually create a subclass of AbstractListModel and implement the missing methods. This AbstractListModel subclass should be able to see the list of species found. Then, the implementations of its missing methods would be based on that list of species. With this ListModel class in hand, keeping the JList up to date is a matter of instantiating the JList with this model: SpeciesListModel speciesListModel = new SpeciesListModel(); speciesCheckList = new JList(speciesListModel); If the species list changes, have the species list model fire the appropriate list change event (the JavaDoc API has a bunch of fire* methods). To keep things simple, there is a "full update" event which just says "rebuild the entire JList." That one should be OK. There are finer-grained ones like "something got inserted" and "something got removed," but that really is more for optimization purposes. As for the text display, the simplest approach is to implement the toString method of the SpeciesProfile class so that they return something that is appropriate for a JList. Sometimes that is too limiting though. If you want greater flexibility, you will want to implement a ListCellRenderer. There is a class called DefaultListCellRenderer that you can extend. Typically the subclass would call the superclass's method, which returns a JLabel. You can then change the content of the JLabel according to the list item that you are trying to display. See if these leads are enough to go on. If not, I can talk you through them more during the call. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 12, 2011, at 6:00 PM, Richard Brous wrote: > Update for tomorrow 7/13/11: > > Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) > > 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. > > I'm currently working in ExportPanel1.java and have done the following so far: > > imported JList; > imported javax.swing.event.*; > > > public class ExportPanel1 extends JPanel { > added: private JList speciesCheckList; > > private JPanel getContentPanel () { > underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... > > added: speciesCheckList = new JList ( speciesProfilesFound ); > > // registered the listeners > speciesCheckList.addListSelectionListener ( new ListSelectionListener () { > // handle list selection > public void valueChanged ( ListSelectionEvent e ) { > // get selected indices > int [] indices = speciesCheckList.getSelectedIndices (); > } > }); > > added: //leftPanel.add ( speciesComboBox ); > leftPanel.add ( speciesCheckList ); > > The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? > > So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? > > Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. > > Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. > > Dondi - I'm looking forward to your suggestions and assistance!!! > > Richard > > > > On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...> wrote: > Hi Rich, > > OK, thanks for the discussion setup. We'll work through this during the call. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > > On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > > Update on status: > > > > Over the past two weeks I have spent time doing the following: > > > > 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 > > 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > > 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. > > > > Current actions: > > > > During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. > > > > The process being the following steps: > > > > 1. Grab all the taxon ids from the Postgres db > > The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. > > > > 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. > > > > The current iteration compares each taxon id in ResultSet result variable. > > First taxon id from result: > > If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > > If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > > > > Next taxon id from result > > If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > > If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > > > > Repeat until no more taxon ids are found in ResultSet result variable. > > > > 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. > > > > Use the getSelectedIndices method for JList to determine which species have been selected for export. > > > > 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. > > details to be determined. > > > > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > > > Discussion for tomorrows call: > > > > > > We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. > > > > Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? > > > > The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. > > > > Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. > > > > My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. > > > > I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > > > > > > Anyway, I look forward to our call at 9am tomorrow. > > > > Richard > > <ATT00001..txt><ATT00002..txt> > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-07-13 01:00:14
|
Update for tomorrow 7/13/11: Clear on what I need to do but can't seem to figure out a way to do it. I think the best use of our time tomorrow is to make it a code discussion session (giving Dr. Dahlquist the opportunity to bow out if so inclined) 1. In regard to the JList, I have been working on the best way to implement it but am getting stuck on how to populate it and where to do so in the code. I'm currently working in ExportPanel1.java and have done the following so far: imported JList; imported javax.swing.event.*; public class ExportPanel1 extends JPanel { added: private JList speciesCheckList; private JPanel getContentPanel () { underneath the species combo box entry // species | JComboBox | speciesFound |JLabel | Description | ... added: speciesCheckList = new JList ( speciesProfilesFound ); // registered the listeners speciesCheckList.addListSelectionListener ( new ListSelectionListener () { // handle list selection public void valueChanged ( ListSelectionEvent e ) { // get selected indices int [] indices = speciesCheckList.getSelectedIndices (); } }); added: //leftPanel.add ( speciesComboBox ); leftPanel.add ( speciesCheckList ); The real issue here is how to populate the JList... I took a look at the constructors but can't determine a way to populate it after instantiation... maybe using abstract class somehow? So instead I have been working to add the speciesProfilesFound [] ArrayList as a constructor argument. Then I can pre-populate it prior to the contentPanel being initialized???... or possibly similar to the init() method which pre-populates the Database profileComboBox? Once the initital population of the JList is done we can modify it for the later methods which dynamically alter content in databaseProfileSelected() and speciesProfileSelected(). This will effect the selectedSpeciesProfile() method usage and its getter and setter. Also we can then work on the text indication which dynamically shows the selected species and whether a custom or generic profile has been associated. Dondi - I'm looking forward to your suggestions and assistance!!! Richard On Wed, Jul 6, 2011 at 10:58 PM, John David N. Dionisio <do...@lm...>wrote: > Hi Rich, > > OK, thanks for the discussion setup. We'll work through this during the > call. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > > On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > > > Update on status: > > > > Over the past two weeks I have spent time doing the following: > > > > 1. Reviewed the taxon id code changes which Don Murphy coded and were > merged to create version 2.0 b64 > > 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, > SpeciesProfile, Profile and DatabaseProfile files > > 3. Reviewed and discussed the process by which GenMAPP matches single > taxon ids found in a Postgres db with the known species profiles. > > > > Current actions: > > > > During the last few days I have started coding in the ability for the > species matching functionality to surface multiple taxon ids from within a > Postgres db. > > > > The process being the following steps: > > > > 1. Grab all the taxon ids from the Postgres db > > The current iteration of the software already does this. In the > checkRequirements method in UniprotDatabaseProfile.java, a query of the > Postgres db acquires all taxon id's and stores them in ResultSet result > variable. > > > > 2. Check to find match between the taxon ids from Postgres against > existing species profiles for known species. > > > > The current iteration compares each taxon id in ResultSet result > variable. > > First taxon id from result: > > If match was found, then that species profile with associated taxon id > was added to the speciesProfilesFound arraylist. > > If no match was found, a generic species profile associated with the > current taxon id was added to the speciesProfilesFound arraylist. > > > > Next taxon id from result > > If match was found, then that species profile with associated taxon id > was added to the speciesProfilesFound arraylist. > > If no match was found, a generic species profile associated with the > current taxon id was added to the speciesProfilesFound arraylist. > > > > Repeat until no more taxon ids are found in ResultSet result variable. > > > > 3. Replace the JComboBox with a JList to allow the user to choose a > selection of multiple species to export. > > > > Use the getSelectedIndices method for JList to determine which species > have been selected for export. > > > > 4. Modify the export process to run a pass for each species selected to > generate a multispecies gdb. > > details to be determined. > > > > > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > > > > > Discussion for tomorrows call: > > > > > > We previously discussed allowing user input to manually add taxon ids and > associate them to the generic profile. > > > > Unless I don't really understand the reasoning behind this, it seems to > me that it is unnecessary. Why would we add a taxon id during the export > process that isn't already in the Postgres data? > > > > The current implementation already captures every taxon id in > speciesProfilesFound regardless if its a known species or not. So it seems > that we don't need to make any modifications in surfacing taxon ids from a > Postgres db. > > > > Then we can go directly to #3 above which I have mostly coded, but can't > seem to figure out how and where to populate the JList. In reviewing > constructor documentation it indicates 4 ways to instantiate. > > > > My first choice was to create an empty JList [ JList () ] and populate it > later but I don't see a method to do so such as addItems or something > similar. > > > > I then tried to instantiate with speciesProfileFound as an array > argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > > > > > > Anyway, I look forward to our call at 9am tomorrow. > > > > Richard > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > All of the data generated in your IT infrastructure is seriously valuable. > Why? It contains a definitive record of application performance, security > threats, fraudulent activity, and more. Splunk takes this data and makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-07-07 06:10:42
|
Hi Rich, OK, thanks for the discussion setup. We'll work through this during the call. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On Jul 6, 2011, at 7:37 PM, Richard Brous wrote: > Update on status: > > Over the past two weeks I have spent time doing the following: > > 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 > 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files > 3. Reviewed and discussed the process by which GenMAPP matches single taxon ids found in a Postgres db with the known species profiles. > > Current actions: > > During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. > > The process being the following steps: > > 1. Grab all the taxon ids from the Postgres db > The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. > > 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. > > The current iteration compares each taxon id in ResultSet result variable. > First taxon id from result: > If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > > Next taxon id from result > If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. > If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. > > Repeat until no more taxon ids are found in ResultSet result variable. > > 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. > > Use the getSelectedIndices method for JList to determine which species have been selected for export. > > 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. > details to be determined. > > ----------------------------------------------------------------------------------------------------------------------------------------------------------- > > > Discussion for tomorrows call: > > > We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. > > Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? > > The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. > > Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. > > My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. > > I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. > > > Anyway, I look forward to our call at 9am tomorrow. > > Richard > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-07-07 02:37:53
|
Update on status: Over the past two weeks I have spent time doing the following: 1. Reviewed the taxon id code changes which Don Murphy coded and were merged to create version 2.0 b64 2. Reviewed the UniprotDatabaseProfile, UniprotSpeciesProfile, SpeciesProfile, Profile and DatabaseProfile files 3. Reviewed and discussed the process by which GenMAPP matches *single*taxon ids found in a Postgres db with the known species profiles. Current actions: During the last few days I have started coding in the ability for the species matching functionality to surface multiple taxon ids from within a Postgres db. The process being the following steps: 1. Grab all the taxon ids from the Postgres db The current iteration of the software already does this. In the checkRequirements method in UniprotDatabaseProfile.java, a query of the Postgres db acquires all taxon id's and stores them in ResultSet result variable. 2. Check to find match between the taxon ids from Postgres against existing species profiles for known species. The current iteration compares each taxon id in ResultSet result variable. First taxon id from result: If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. Next taxon id from result If match was found, then that species profile with associated taxon id was added to the speciesProfilesFound arraylist. If no match was found, a generic species profile associated with the current taxon id was added to the speciesProfilesFound arraylist. Repeat until no more taxon ids are found in ResultSet result variable. 3. Replace the JComboBox with a JList to allow the user to choose a selection of multiple species to export. Use the getSelectedIndices method for JList to determine which species have been selected for export. 4. Modify the export process to run a pass for each species selected to generate a multispecies gdb. details to be determined. ----------------------------------------------------------------------------------------------------------------------------------------------------------- Discussion for tomorrows call: We previously discussed allowing user input to manually add taxon ids and associate them to the generic profile. Unless I don't really understand the reasoning behind this, it seems to me that it is unnecessary. Why would we add a taxon id during the export process that isn't already in the Postgres data? The current implementation already captures every taxon id in speciesProfilesFound regardless if its a known species or not. So it seems that we don't need to make any modifications in surfacing taxon ids from a Postgres db. Then we can go directly to #3 above which I have mostly coded, but can't seem to figure out how and where to populate the JList. In reviewing constructor documentation it indicates 4 ways to instantiate. My first choice was to create an empty JList [ JList () ] and populate it later but I don't see a method to do so such as addItems or something similar. I then tried to instantiate with speciesProfileFound as an array argument: JList ( SpeciesProfile[] speciesProfilesFound ) but can't resolve. Anyway, I look forward to our call at 9am tomorrow. Richard |
From: Richard B. <rbr...@gm...> - 2011-06-07 21:02:09
|
I have been thinking about the export process and decided to take a stab at the export screen modifications first. There are 4 screens which make up the export and here are my notes for each: *Screen_1* The majority of the fields are fine if we decide we want to keep them all or modify/delete some which either don't make sense or are pull down menus with a single item such as Profile field = only Uniprot. Depending on which fields are kept, the layout can be reorganized as needed [applies to all other screens as well]. The species pull down menu has issues which need to be modified based on our goals: 1. It would be best to surface all the species found in the Postgres db here instead of prompting the user to click the pull down to see what it contains. I would suggest a check box window which displays all the species with their check boxes unchecked. This way it is easy to see all the species at one time and then allow the user to select the desired species for a multi species gdb export. With the desired species checked, the export process would then need to be reworked to export each species [in some sort of specified order] into a gdb file. 2. When the back button is used, we need to ensure that the species check box is cleared and repopulated opposed to how it currently works where it simply aggregates species to an already populated listing. *Screen_2* No major changes to this screen. Discuss fields to ensure they make sense and modify/delete as needed for usability. *Screen_3* No major changes to this screen. Discuss fields to ensure they make sense and modify/delete as needed for usability. *Screen_4* Discuss fields to ensure they make sense and modify/delete as needed for usability. 1. Change Next button to Start button as an indicator that the export setup is complete and that it will start when start button is pressed. 2. Is the display order functionality live? Is the default order OK or should it be updated based on customer need? Overall it seems to me that 4 screens is a bit excessive? We may want to think about hiding some of the settings that we never change under some sort of advanced setting tab? ----------------------------------------------------------------------------------------------------------------------------------------- Species source file Import functionality: This is another area where I feel we need to make some changes while we are updating screens. I would suggest the first import screen display any previously imported species source files and the GO file version/date. This would reduce user error in terms of reimporting existing data into a Postgres db. Some sort of printout functionality might also be nice here. When the user wishes to import new source files, I would recommend a single screen which would allow the user to link up all the source files prior to import instead of one at a time. We would need to determine if any particular order is required. We could also include a check box near the GO data link to preapprove GO data processing. Once all is set we let it rip and all the imports occur from a single click... similar to the current export setup. ------------------------------------------------------------------------------------------------------------------------------------------ To limit the scope of these changes, I would recommend that we only create multi-species gdb from scratch and forgo any attempt to append an existing gdb at this time. We can always add this functionality later if we decide it is needed, once we implement the initial multi-species export code. In regards to modifying the export processes to enable this updated functionality, it seems to me that we need to modify the existing steps to 'loop' back around to export the second or third species into a single gdb. This is where my knowledge of the process grows thin... what is the current process that the software uses when populating a single species gdb? Is it the Uniprot species data that is exported first, then the goa data and then the GO terms with relationship processing? I will review the code a bit more and surface the processing order but not sure if there are other areas I'm not considering? What do you both think? Sorry for any typos, typing one handed with a cocktail in the other poolside! Thanks! Richard |
From: Richard B. <rbr...@gm...> - 2011-06-01 17:00:54
|
I'm in the conf call but it seems to be running very slowly, eventually the voice prompt told me to enter the PIN #. rb On Tue, May 31, 2011 at 12:25 PM, Richard Brous <rbr...@gm...> wrote: > I'm not sure anyone specific needs to initiate the call but i'll get on a > few minutes early and log in jic. > > rb > > On Tue, May 31, 2011 at 11:59 AM, John David N. Dionisio <do...@lm...>wrote: > >> OK, got that. Just to confirm --- you're the one initiating this call, >> with Dr. Dahlquist and me as participants, yes? >> >> Talk to you Wednesday at 10am then. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> >> >> On May 31, 2011, at 9:58 AM, Richard Brous wrote: >> >> > OK, lets try this con call service with a CA dialing number for the call >> using the below info. >> > >> > Talk to you 10am tomorrow. >> > >> > rb >> > >> > >> > >> > Welcome to Rondee! You're now all set to go. Please see your On Demand >> dial-in number and PIN in the green box below. >> > >> > Your dial-in number: (916) 209-4534 >> > >> > Alternative dial-in: (619) 276-6333 >> > >> > On Demand PIN for you and your participants: 7387949 >> > >> > You are now ready to start using Rondee! Just give your participants the >> dial-number and PIN and let them know when to call in. >> > >> > >> > >> > >> > On Thu, May 26, 2011 at 5:32 PM, Kam Dahlquist <kda...@lm...> >> wrote: >> > Hi Rich, >> > >> > Next Wednesday at 10 works for me and Dondi, and will probably work >> every week, but we can confirm when we get on the phone. >> > >> > How are we going to do the call? Dondi has to be at home and I will be >> at work at that time. We can use the free conference call system that we >> used before, but it is a long-distance number. >> > >> > Best, >> > Dr. D >> > >> > >> > At 09:42 AM 5/26/2011, Richard Brous wrote: >> >> I'll suggest Wednesdays at 10am for a weekly call? >> >> >> >> A back and forth with Dr. Dorin to discuss where to fit the ongoing >> work into my degree requirements is underway at the moment. >> >> >> >> Here is the list of enhancements from my end of semester paper: >> >> >> >> PRIORITY OF FUTURE FEATURES AND ENHANCEMENTS >> >> • After a clarifying discussion with Dr. Dahlquist, it seems that >> based on customer need and overall feature direction, that multiple species >> exports should be the highest priority going forward. Based on this fact, I >> submit the below list in priority order for discussion. >> >> • Baseline check against balance of species >> >> • Ms, Mt, Pf(source taxon issue), Pa, and Sa have been >> successfully exported post merge >> >> • Some amount of commented code cleanup left in generic species, >> UniProt profile, and overall name2taxon implementation. Also cleanup of non >> commented constructor and methods referencing species name. >> >> • Multi-Species export functionality >> >> • pick up where Don left off regarding GO data >> >> • includes re-factor export wizard >> >> • TallyEngine queries >> >> • Data snapshot functionality when linked to different files: >> >> • Link to XML source - surface to user the taxon id's contained >> within >> >> • Query and return the species with taxon id which currently >> reside within a Postgres database >> >> • Return species with taxon id contained within a multi-species >> gdb >> >> • Finish Yeast database >> >> RB >> >> >> >> On Tue, May 24, 2011 at 4:08 PM, John David N. Dionisio <do...@lm...> >> wrote: >> >> Yes, this week is grant-proposal-deadline-week for us, but it does give >> you some time with checking on your curriculum status and reviewing the code >> as you last left it. I also have a meeting at noon on Tuesday, so in a >> sense that works out; before that meeting, say 10 or 11, will work better >> for me than after it. >> >> >> >> John David N. Dionisio, PhD >> >> Associate Professor, Computer Science >> >> Loyola Marymount University >> >> >> >> >> >> On May 24, 2011, at 3:28 PM, Kam Dahlquist wrote: >> >> >> >> > Hi, >> >> > >> >> > We have a grant due Thursday, so we're pretty focused on working on >> >> > that right now, so a call probably won't work for us this week. >> >> > >> >> > I'm also flexible on call times, I just need to know when. Next week >> >> > on Tuesday I have a meeting between 12-2:30, but any other time will >> work. >> >> > >> >> > Cheers, >> >> > Dr. D >> >> > >> >> > At 03:04 PM 5/24/2011, Richard Brous wrote: >> >> >> Hi Dondi/Dr. D, >> >> >> >> >> >> My focus is starting to return to GM Builder after I was able to get >> >> >> through the pile of stuff I had waiting for me at the start of >> summer break. >> >> >> >> >> >> So here is the current status: >> >> >> >> >> >> 1. Emailed Dr. Dorin to discuss options on how this next session >> >> >> might fit into my curriculum requirements now that I have finished >> >> >> all my upper division CS electives. Will fill you in once he and I >> discuss etc. >> >> >> >> >> >> 2. Spent some time cleaning out the old commented code and compiling >> >> >> the software to make sure I haven't broken anything. Commited the >> >> >> changes up to SourceForge after my testing. >> >> >> >> >> >> >> ---------------------------------------------------------------------------------------------------------------------------------------- >> >> >> >> >> >> So I know we discussed next steps but before I move forward we >> >> >> should probably have a con call to ensure sync. Mondays aren't good >> >> >> for me anymore but Tues - Thurs all work atm. >> >> >> >> >> >> Lets figure out which day is most convenient and schedule the weekly >> >> >> call. What works for you guys? >> >> >> >> >> >> Richard >> >> >> >> >> >> >> >> >> >> >> > >> >> > >> >> > >> ------------------------------------------------------------------------------ >> >> > vRanger cuts backup time in half-while increasing security. >> >> > With the market-leading solution for virtual backup and recovery, >> >> > you get blazing-fast, flexible, and affordable data protection. >> >> > Download your free trial now. >> >> > http://p.sf.net/sfu/quest-d2dcopy1 >> >> > _______________________________________________ >> >> > xmlpipedb-developer mailing list >> >> > xml...@li... >> >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> vRanger cuts backup time in half-while increasing security. >> >> With the market-leading solution for virtual backup and recovery, >> >> you get blazing-fast, flexible, and affordable data protection. >> >> Download your free trial now. >> >> http://p.sf.net/sfu/quest-d2dcopy1 >> >> _______________________________________________ >> >> xmlpipedb-developer mailing list >> >> xml...@li... >> >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> >> >> >> >> > >> > >> ------------------------------------------------------------------------------ >> > vRanger cuts backup time in half-while increasing security. >> > With the market-leading solution for virtual backup and recovery, >> > you get blazing-fast, flexible, and affordable data protection. >> > Download your free trial now. >> > http://p.sf.net/sfu/quest-d2dcopy1 >> > _______________________________________________ >> > xmlpipedb-developer mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > >> > >> > <ATT00001..txt><ATT00002..txt> >> >> >> >> ------------------------------------------------------------------------------ >> Simplify data backup and recovery for your virtual environment with >> vRanger. >> Installation's a snap, and flexible recovery options mean your data is >> safe, >> secure and there when you need it. Data protection magic? >> Nope - It's vRanger. Get your free trial download today. >> http://p.sf.net/sfu/quest-sfdev2dev >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> > > |
From: Richard B. <rbr...@gm...> - 2011-05-31 19:25:17
|
I'm not sure anyone specific needs to initiate the call but i'll get on a few minutes early and log in jic. rb On Tue, May 31, 2011 at 11:59 AM, John David N. Dionisio <do...@lm...>wrote: > OK, got that. Just to confirm --- you're the one initiating this call, > with Dr. Dahlquist and me as participants, yes? > > Talk to you Wednesday at 10am then. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > > On May 31, 2011, at 9:58 AM, Richard Brous wrote: > > > OK, lets try this con call service with a CA dialing number for the call > using the below info. > > > > Talk to you 10am tomorrow. > > > > rb > > > > > > > > Welcome to Rondee! You're now all set to go. Please see your On Demand > dial-in number and PIN in the green box below. > > > > Your dial-in number: (916) 209-4534 > > > > Alternative dial-in: (619) 276-6333 > > > > On Demand PIN for you and your participants: 7387949 > > > > You are now ready to start using Rondee! Just give your participants the > dial-number and PIN and let them know when to call in. > > > > > > > > > > On Thu, May 26, 2011 at 5:32 PM, Kam Dahlquist <kda...@lm...> > wrote: > > Hi Rich, > > > > Next Wednesday at 10 works for me and Dondi, and will probably work every > week, but we can confirm when we get on the phone. > > > > How are we going to do the call? Dondi has to be at home and I will be > at work at that time. We can use the free conference call system that we > used before, but it is a long-distance number. > > > > Best, > > Dr. D > > > > > > At 09:42 AM 5/26/2011, Richard Brous wrote: > >> I'll suggest Wednesdays at 10am for a weekly call? > >> > >> A back and forth with Dr. Dorin to discuss where to fit the ongoing work > into my degree requirements is underway at the moment. > >> > >> Here is the list of enhancements from my end of semester paper: > >> > >> PRIORITY OF FUTURE FEATURES AND ENHANCEMENTS > >> • After a clarifying discussion with Dr. Dahlquist, it seems that > based on customer need and overall feature direction, that multiple species > exports should be the highest priority going forward. Based on this fact, I > submit the below list in priority order for discussion. > >> • Baseline check against balance of species > >> • Ms, Mt, Pf(source taxon issue), Pa, and Sa have been > successfully exported post merge > >> • Some amount of commented code cleanup left in generic species, > UniProt profile, and overall name2taxon implementation. Also cleanup of non > commented constructor and methods referencing species name. > >> • Multi-Species export functionality > >> • pick up where Don left off regarding GO data > >> • includes re-factor export wizard > >> • TallyEngine queries > >> • Data snapshot functionality when linked to different files: > >> • Link to XML source - surface to user the taxon id's contained > within > >> • Query and return the species with taxon id which currently reside > within a Postgres database > >> • Return species with taxon id contained within a multi-species gdb > >> • Finish Yeast database > >> RB > >> > >> On Tue, May 24, 2011 at 4:08 PM, John David N. Dionisio <do...@lm...> > wrote: > >> Yes, this week is grant-proposal-deadline-week for us, but it does give > you some time with checking on your curriculum status and reviewing the code > as you last left it. I also have a meeting at noon on Tuesday, so in a > sense that works out; before that meeting, say 10 or 11, will work better > for me than after it. > >> > >> John David N. Dionisio, PhD > >> Associate Professor, Computer Science > >> Loyola Marymount University > >> > >> > >> On May 24, 2011, at 3:28 PM, Kam Dahlquist wrote: > >> > >> > Hi, > >> > > >> > We have a grant due Thursday, so we're pretty focused on working on > >> > that right now, so a call probably won't work for us this week. > >> > > >> > I'm also flexible on call times, I just need to know when. Next week > >> > on Tuesday I have a meeting between 12-2:30, but any other time will > work. > >> > > >> > Cheers, > >> > Dr. D > >> > > >> > At 03:04 PM 5/24/2011, Richard Brous wrote: > >> >> Hi Dondi/Dr. D, > >> >> > >> >> My focus is starting to return to GM Builder after I was able to get > >> >> through the pile of stuff I had waiting for me at the start of summer > break. > >> >> > >> >> So here is the current status: > >> >> > >> >> 1. Emailed Dr. Dorin to discuss options on how this next session > >> >> might fit into my curriculum requirements now that I have finished > >> >> all my upper division CS electives. Will fill you in once he and I > discuss etc. > >> >> > >> >> 2. Spent some time cleaning out the old commented code and compiling > >> >> the software to make sure I haven't broken anything. Commited the > >> >> changes up to SourceForge after my testing. > >> >> > >> >> > ---------------------------------------------------------------------------------------------------------------------------------------- > >> >> > >> >> So I know we discussed next steps but before I move forward we > >> >> should probably have a con call to ensure sync. Mondays aren't good > >> >> for me anymore but Tues - Thurs all work atm. > >> >> > >> >> Lets figure out which day is most convenient and schedule the weekly > >> >> call. What works for you guys? > >> >> > >> >> Richard > >> >> > >> >> > >> >> > >> > > >> > > >> > > ------------------------------------------------------------------------------ > >> > vRanger cuts backup time in half-while increasing security. > >> > With the market-leading solution for virtual backup and recovery, > >> > you get blazing-fast, flexible, and affordable data protection. > >> > Download your free trial now. > >> > http://p.sf.net/sfu/quest-d2dcopy1 > >> > _______________________________________________ > >> > xmlpipedb-developer mailing list > >> > xml...@li... > >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > >> > ------------------------------------------------------------------------------ > >> vRanger cuts backup time in half-while increasing security. > >> With the market-leading solution for virtual backup and recovery, > >> you get blazing-fast, flexible, and affordable data protection. > >> Download your free trial now. > >> http://p.sf.net/sfu/quest-d2dcopy1 > >> _______________________________________________ > >> xmlpipedb-developer mailing list > >> xml...@li... > >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > >> > >> > >> > > > > > ------------------------------------------------------------------------------ > > vRanger cuts backup time in half-while increasing security. > > With the market-leading solution for virtual backup and recovery, > > you get blazing-fast, flexible, and affordable data protection. > > Download your free trial now. > > http://p.sf.net/sfu/quest-d2dcopy1 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > <ATT00001..txt><ATT00002..txt> > > > > ------------------------------------------------------------------------------ > Simplify data backup and recovery for your virtual environment with > vRanger. > Installation's a snap, and flexible recovery options mean your data is > safe, > secure and there when you need it. Data protection magic? > Nope - It's vRanger. Get your free trial download today. > http://p.sf.net/sfu/quest-sfdev2dev > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |
From: John D. N. D. <do...@lm...> - 2011-05-31 18:59:46
|
OK, got that. Just to confirm --- you're the one initiating this call, with Dr. Dahlquist and me as participants, yes? Talk to you Wednesday at 10am then. John David N. Dionisio, PhD Associate Professor, Computer Science Loyola Marymount University On May 31, 2011, at 9:58 AM, Richard Brous wrote: > OK, lets try this con call service with a CA dialing number for the call using the below info. > > Talk to you 10am tomorrow. > > rb > > > > Welcome to Rondee! You're now all set to go. Please see your On Demand dial-in number and PIN in the green box below. > > Your dial-in number: (916) 209-4534 > > Alternative dial-in: (619) 276-6333 > > On Demand PIN for you and your participants: 7387949 > > You are now ready to start using Rondee! Just give your participants the dial-number and PIN and let them know when to call in. > > > > > On Thu, May 26, 2011 at 5:32 PM, Kam Dahlquist <kda...@lm...> wrote: > Hi Rich, > > Next Wednesday at 10 works for me and Dondi, and will probably work every week, but we can confirm when we get on the phone. > > How are we going to do the call? Dondi has to be at home and I will be at work at that time. We can use the free conference call system that we used before, but it is a long-distance number. > > Best, > Dr. D > > > At 09:42 AM 5/26/2011, Richard Brous wrote: >> I'll suggest Wednesdays at 10am for a weekly call? >> >> A back and forth with Dr. Dorin to discuss where to fit the ongoing work into my degree requirements is underway at the moment. >> >> Here is the list of enhancements from my end of semester paper: >> >> PRIORITY OF FUTURE FEATURES AND ENHANCEMENTS >> • After a clarifying discussion with Dr. Dahlquist, it seems that based on customer need and overall feature direction, that multiple species exports should be the highest priority going forward. Based on this fact, I submit the below list in priority order for discussion. >> • Baseline check against balance of species >> • Ms, Mt, Pf(source taxon issue), Pa, and Sa have been successfully exported post merge >> • Some amount of commented code cleanup left in generic species, UniProt profile, and overall name2taxon implementation. Also cleanup of non commented constructor and methods referencing species name. >> • Multi-Species export functionality >> • pick up where Don left off regarding GO data >> • includes re-factor export wizard >> • TallyEngine queries >> • Data snapshot functionality when linked to different files: >> • Link to XML source - surface to user the taxon id's contained within >> • Query and return the species with taxon id which currently reside within a Postgres database >> • Return species with taxon id contained within a multi-species gdb >> • Finish Yeast database >> RB >> >> On Tue, May 24, 2011 at 4:08 PM, John David N. Dionisio <do...@lm...> wrote: >> Yes, this week is grant-proposal-deadline-week for us, but it does give you some time with checking on your curriculum status and reviewing the code as you last left it. I also have a meeting at noon on Tuesday, so in a sense that works out; before that meeting, say 10 or 11, will work better for me than after it. >> >> John David N. Dionisio, PhD >> Associate Professor, Computer Science >> Loyola Marymount University >> >> >> On May 24, 2011, at 3:28 PM, Kam Dahlquist wrote: >> >> > Hi, >> > >> > We have a grant due Thursday, so we're pretty focused on working on >> > that right now, so a call probably won't work for us this week. >> > >> > I'm also flexible on call times, I just need to know when. Next week >> > on Tuesday I have a meeting between 12-2:30, but any other time will work. >> > >> > Cheers, >> > Dr. D >> > >> > At 03:04 PM 5/24/2011, Richard Brous wrote: >> >> Hi Dondi/Dr. D, >> >> >> >> My focus is starting to return to GM Builder after I was able to get >> >> through the pile of stuff I had waiting for me at the start of summer break. >> >> >> >> So here is the current status: >> >> >> >> 1. Emailed Dr. Dorin to discuss options on how this next session >> >> might fit into my curriculum requirements now that I have finished >> >> all my upper division CS electives. Will fill you in once he and I discuss etc. >> >> >> >> 2. Spent some time cleaning out the old commented code and compiling >> >> the software to make sure I haven't broken anything. Commited the >> >> changes up to SourceForge after my testing. >> >> >> >> ---------------------------------------------------------------------------------------------------------------------------------------- >> >> >> >> So I know we discussed next steps but before I move forward we >> >> should probably have a con call to ensure sync. Mondays aren't good >> >> for me anymore but Tues - Thurs all work atm. >> >> >> >> Lets figure out which day is most convenient and schedule the weekly >> >> call. What works for you guys? >> >> >> >> Richard >> >> >> >> >> >> >> > >> > >> > ------------------------------------------------------------------------------ >> > vRanger cuts backup time in half-while increasing security. >> > With the market-leading solution for virtual backup and recovery, >> > you get blazing-fast, flexible, and affordable data protection. >> > Download your free trial now. >> > http://p.sf.net/sfu/quest-d2dcopy1 >> > _______________________________________________ >> > xmlpipedb-developer mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> ------------------------------------------------------------------------------ >> vRanger cuts backup time in half-while increasing security. >> With the market-leading solution for virtual backup and recovery, >> you get blazing-fast, flexible, and affordable data protection. >> Download your free trial now. >> http://p.sf.net/sfu/quest-d2dcopy1 >> _______________________________________________ >> xmlpipedb-developer mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer >> >> >> > > ------------------------------------------------------------------------------ > vRanger cuts backup time in half-while increasing security. > With the market-leading solution for virtual backup and recovery, > you get blazing-fast, flexible, and affordable data protection. > Download your free trial now. > http://p.sf.net/sfu/quest-d2dcopy1 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > <ATT00001..txt><ATT00002..txt> |
From: Richard B. <rbr...@gm...> - 2011-05-31 16:58:22
|
OK, lets try this con call service with a CA dialing number for the call using the below info. Talk to you 10am tomorrow. rb [image: Rondee] <http://www.rondee.com/> > > Welcome to Rondee! You're now all set to go. Please see your On Demand > dial-in number and PIN in the green box below. > Your dial-in number: *(916) 209-4534* > > Alternative dial-in: (619) 276-6333 > > On Demand PIN for you and your participants: 7387949 > > You are now ready to start using Rondee! Just give your participants the > dial-number and PIN and let them know when to call in. > > ** > On Thu, May 26, 2011 at 5:32 PM, Kam Dahlquist <kda...@lm...> wrote: > Hi Rich, > > Next Wednesday at 10 works for me and Dondi, and will probably work every > week, but we can confirm when we get on the phone. > > How are we going to do the call? Dondi has to be at home and I will be at > work at that time. We can use the free conference call system that we used > before, but it is a long-distance number. > > Best, > Dr. D > > > At 09:42 AM 5/26/2011, Richard Brous wrote: > > I'll suggest Wednesdays at 10am for a weekly call? > > A back and forth with Dr. Dorin to discuss where to fit the ongoing work > into my degree requirements is underway at the moment. > > Here is the list of enhancements from my end of semester paper: > > PRIORITY OF FUTURE FEATURES AND ENHANCEMENTS > > - After a clarifying discussion with Dr. Dahlquist, it seems that based > on customer need and overall feature direction, that multiple species > exports should be the highest priority going forward. Based on this fact, I > submit the below list in priority order for discussion. > - Baseline check against balance of species > - Ms, Mt, Pf(source taxon issue), Pa, and Sa have been successfully > exported post merge > - Some amount of commented code cleanup left in generic species, > UniProt profile, and overall name2taxon implementation. Also cleanup of non > commented constructor and methods referencing species name. > - Multi-Species export functionality > - pick up where Don left off regarding GO data > - includes re-factor export wizard > > TallyEngine queries > Data snapshot functionality when linked to different files: > > - Link to XML source - surface to user the taxon id's contained within > - Query and return the species with taxon id which currently reside > within a Postgres database > - Return species with taxon id contained within a multi-species gdb > > > > Finish Yeast database > > > RB > > On Tue, May 24, 2011 at 4:08 PM, John David N. Dionisio <do...@lm...> > wrote: > Yes, this week is grant-proposal-deadline-week for us, but it does give > you some time with checking on your curriculum status and reviewing the code > as you last left it. I also have a meeting at noon on Tuesday, so in a > sense that works out; before that meeting, say 10 or 11, will work better > for me than after it. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On May 24, 2011, at 3:28 PM, Kam Dahlquist wrote: > > > Hi, > > > > We have a grant due Thursday, so we're pretty focused on working on > > that right now, so a call probably won't work for us this week. > > > > I'm also flexible on call times, I just need to know when. Next week > > on Tuesday I have a meeting between 12-2:30, but any other time will > work. > > > > Cheers, > > Dr. D > > > > At 03:04 PM 5/24/2011, Richard Brous wrote: > >> Hi Dondi/Dr. D, > >> > >> My focus is starting to return to GM Builder after I was able to get > >> through the pile of stuff I had waiting for me at the start of summer > break. > >> > >> So here is the current status: > >> > >> 1. Emailed Dr. Dorin to discuss options on how this next session > >> might fit into my curriculum requirements now that I have finished > >> all my upper division CS electives. Will fill you in once he and I > discuss etc. > >> > >> 2. Spent some time cleaning out the old commented code and compiling > >> the software to make sure I haven't broken anything. Commited the > >> changes up to SourceForge after my testing. > >> > >> > ---------------------------------------------------------------------------------------------------------------------------------------- > >> > >> So I know we discussed next steps but before I move forward we > >> should probably have a con call to ensure sync. Mondays aren't good > >> for me anymore but Tues - Thurs all work atm. > >> > >> Lets figure out which day is most convenient and schedule the weekly > >> call. What works for you guys? > >> > >> Richard > >> > >> > >> > > > > > > > ------------------------------------------------------------------------------ > > vRanger cuts backup time in half-while increasing security. > > With the market-leading solution for virtual backup and recovery, > > you get blazing-fast, flexible, and affordable data protection. > > Download your free trial now. > > http://p.sf.net/sfu/quest-d2dcopy1 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > ------------------------------------------------------------------------------ > vRanger cuts backup time in half-while increasing security. > With the market-leading solution for virtual backup and recovery, > you get blazing-fast, flexible, and affordable data protection. > Download your free trial now. > http://p.sf.net/sfu/quest-d2dcopy1 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > > > ------------------------------------------------------------------------------ > vRanger cuts backup time in half-while increasing security. > With the market-leading solution for virtual backup and recovery, > you get blazing-fast, flexible, and affordable data protection. > Download your free trial now. > http://p.sf.net/sfu/quest-d2dcopy1 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > |
From: Kam D. <kda...@lm...> - 2011-05-27 00:32:54
|
Hi Rich, Next Wednesday at 10 works for me and Dondi, and will probably work every week, but we can confirm when we get on the phone. How are we going to do the call? Dondi has to be at home and I will be at work at that time. We can use the free conference call system that we used before, but it is a long-distance number. Best, Dr. D At 09:42 AM 5/26/2011, Richard Brous wrote: >I'll suggest Wednesdays at 10am for a weekly call? > >A back and forth with Dr. Dorin to discuss where to fit the ongoing >work into my degree requirements is underway at the moment. > >Here is the list of enhancements from my end of semester paper: > >PRIORITY OF FUTURE FEATURES AND ENHANCEMENTS > * After a clarifying discussion with Dr. Dahlquist, it seems > that based on customer need and overall feature direction, that > multiple species exports should be the highest priority going > forward. Based on this fact, I submit the below list in priority > order for discussion. > * Baseline check against balance of species > * Ms, Mt, Pf(source taxon issue), Pa, and Sa have been > successfully exported post merge > * Some amount of commented code cleanup left in generic species, > UniProt profile, and overall name2taxon implementation. Also > cleanup of non commented constructor and methods referencing species name. > * Multi-Species export functionality > * pick up where Don left off regarding GO data > * includes re-factor export wizard > * TallyEngine queries > * Data snapshot functionality when linked to different files: > * Link to XML source - surface to user the taxon id's > contained within > * Query and return the species with taxon id which currently > reside within a Postgres database > * Return species with taxon id contained within a multi-species gdb > * Finish Yeast database >RB > >On Tue, May 24, 2011 at 4:08 PM, John David N. Dionisio ><<mailto:do...@lm...>do...@lm...> wrote: >Yes, this week is grant-proposal-deadline-week for us, but it does >give you some time with checking on your curriculum status and >reviewing the code as you last left it. I also have a meeting at >noon on Tuesday, so in a sense that works out; before that meeting, >say 10 or 11, will work better for me than after it. > >John David N. Dionisio, PhD >Associate Professor, Computer Science >Loyola Marymount University > > >On May 24, 2011, at 3:28 PM, Kam Dahlquist wrote: > > > Hi, > > > > We have a grant due Thursday, so we're pretty focused on working on > > that right now, so a call probably won't work for us this week. > > > > I'm also flexible on call times, I just need to know when. Next week > > on Tuesday I have a meeting between 12-2:30, but any other time will work. > > > > Cheers, > > Dr. D > > > > At 03:04 PM 5/24/2011, Richard Brous wrote: > >> Hi Dondi/Dr. D, > >> > >> My focus is starting to return to GM Builder after I was able to get > >> through the pile of stuff I had waiting for me at the start of > summer break. > >> > >> So here is the current status: > >> > >> 1. Emailed Dr. Dorin to discuss options on how this next session > >> might fit into my curriculum requirements now that I have finished > >> all my upper division CS electives. Will fill you in once he and > I discuss etc. > >> > >> 2. Spent some time cleaning out the old commented code and compiling > >> the software to make sure I haven't broken anything. Commited the > >> changes up to SourceForge after my testing. > >> > >> > ---------------------------------------------------------------------------------------------------------------------------------------- > >> > >> So I know we discussed next steps but before I move forward we > >> should probably have a con call to ensure sync. Mondays aren't good > >> for me anymore but Tues - Thurs all work atm. > >> > >> Lets figure out which day is most convenient and schedule the weekly > >> call. What works for you guys? > >> > >> Richard > >> > >> > >> > > > > > > > ------------------------------------------------------------------------------ > > vRanger cuts backup time in half-while increasing security. > > With the market-leading solution for virtual backup and recovery, > > you get blazing-fast, flexible, and affordable data protection. > > Download your free trial now. > > <http://p.sf.net/sfu/quest-d2dcopy1>http://p.sf.net/sfu/quest-d2dcopy1 > > _______________________________________________ > > xmlpipedb-developer mailing list > > > <mailto:xml...@li...>xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > >------------------------------------------------------------------------------ >vRanger cuts backup time in half-while increasing security. >With the market-leading solution for virtual backup and recovery, >you get blazing-fast, flexible, and affordable data protection. >Download your free trial now. ><http://p.sf.net/sfu/quest-d2dcopy1>http://p.sf.net/sfu/quest-d2dcopy1 >_______________________________________________ >xmlpipedb-developer mailing list ><mailto:xml...@li...>xml...@li... >https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > |
From: Richard B. <rbr...@gm...> - 2011-05-26 16:42:33
|
I'll suggest Wednesdays at 10am for a weekly call? A back and forth with Dr. Dorin to discuss where to fit the ongoing work into my degree requirements is underway at the moment. Here is the list of enhancements from my end of semester paper: PRIORITY OF FUTURE FEATURES AND ENHANCEMENTS - After a clarifying discussion with Dr. Dahlquist, it seems that based on customer need and overall feature direction, that multiple species exports should be the highest priority going forward. Based on this fact, I submit the below list in priority order for discussion. 1. Baseline check against balance of species - Ms, Mt, Pf(source taxon issue), Pa, and Sa have been successfully exported post merge 2. Some amount of commented code cleanup left in generic species, UniProt profile, and overall name2taxon implementation. Also cleanup of non commented constructor and methods referencing species name. 3. Multi-Species export functionality - pick up where Don left off regarding GO data - includes re-factor export wizard 4. TallyEngine queries 5. Data snapshot functionality when linked to different files: - Link to XML source - surface to user the taxon id's contained within - Query and return the species with taxon id which currently reside within a Postgres database - Return species with taxon id contained within a multi-species gdb 6. Finish Yeast database RB On Tue, May 24, 2011 at 4:08 PM, John David N. Dionisio <do...@lm...>wrote: > Yes, this week is grant-proposal-deadline-week for us, but it does give you > some time with checking on your curriculum status and reviewing the code as > you last left it. I also have a meeting at noon on Tuesday, so in a sense > that works out; before that meeting, say 10 or 11, will work better for me > than after it. > > John David N. Dionisio, PhD > Associate Professor, Computer Science > Loyola Marymount University > > > On May 24, 2011, at 3:28 PM, Kam Dahlquist wrote: > > > Hi, > > > > We have a grant due Thursday, so we're pretty focused on working on > > that right now, so a call probably won't work for us this week. > > > > I'm also flexible on call times, I just need to know when. Next week > > on Tuesday I have a meeting between 12-2:30, but any other time will > work. > > > > Cheers, > > Dr. D > > > > At 03:04 PM 5/24/2011, Richard Brous wrote: > >> Hi Dondi/Dr. D, > >> > >> My focus is starting to return to GM Builder after I was able to get > >> through the pile of stuff I had waiting for me at the start of summer > break. > >> > >> So here is the current status: > >> > >> 1. Emailed Dr. Dorin to discuss options on how this next session > >> might fit into my curriculum requirements now that I have finished > >> all my upper division CS electives. Will fill you in once he and I > discuss etc. > >> > >> 2. Spent some time cleaning out the old commented code and compiling > >> the software to make sure I haven't broken anything. Commited the > >> changes up to SourceForge after my testing. > >> > >> > ---------------------------------------------------------------------------------------------------------------------------------------- > >> > >> So I know we discussed next steps but before I move forward we > >> should probably have a con call to ensure sync. Mondays aren't good > >> for me anymore but Tues - Thurs all work atm. > >> > >> Lets figure out which day is most convenient and schedule the weekly > >> call. What works for you guys? > >> > >> Richard > >> > >> > >> > > > > > > > ------------------------------------------------------------------------------ > > vRanger cuts backup time in half-while increasing security. > > With the market-leading solution for virtual backup and recovery, > > you get blazing-fast, flexible, and affordable data protection. > > Download your free trial now. > > http://p.sf.net/sfu/quest-d2dcopy1 > > _______________________________________________ > > xmlpipedb-developer mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > > > > ------------------------------------------------------------------------------ > vRanger cuts backup time in half-while increasing security. > With the market-leading solution for virtual backup and recovery, > you get blazing-fast, flexible, and affordable data protection. > Download your free trial now. > http://p.sf.net/sfu/quest-d2dcopy1 > _______________________________________________ > xmlpipedb-developer mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlpipedb-developer > |