From david.gilbert at object-refinery.com Mon May 14 13:51:33 2007 From: david.gilbert at object-refinery.com (David Gilbert) Date: Mon, 14 May 2007 14:51:33 +0100 Subject: [PATCH] 6463712: JSpinner forwards events from old model Message-ID: <46486965.1030900@object-refinery.com> Hi, The attached patch is a proposed fix for bug 6463712. It is a one-line fix to the setModel(SpinnerModel) method - the listener that works on behalf of the JSpinner to forward events from the model needs to be deregistered from the old model when a new model is assigned. The patch includes a regression test that can be run using jtreg. I also tested using the JSpinner-related tests in Mauve[1]. I'm working against the initial OpenJDK source release (b12). Any questions, just ask... Regards, Dave Gilbert http://www.jfree.org/ [1] http://sourceware.org/mauve/ -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: diff.txt URL: From jchenry at gmail.com Tue May 15 14:45:47 2007 From: jchenry at gmail.com (Colin Henry) Date: Tue, 15 May 2007 07:45:47 -0700 Subject: List of encumbrances Message-ID: <8E595CB7-C44F-49D0-AF3B-BAF3E0E59DAC@gmail.com> Is there a list of the encumbrances, if any, for swing that is available? It would be nice to have a starting point to see what needs to be done. Thanks, Colin Henry jchenry at gmail.com From kirillcool at yahoo.com Wed May 16 00:01:08 2007 From: kirillcool at yahoo.com (Kirill Grouchnikov) Date: Tue, 15 May 2007 17:01:08 -0700 (PDT) Subject: List of encumbrances Message-ID: <822520.27424.qm@web52705.mail.re2.yahoo.com> I forgot the umbrella link, but there have been five modules: http://openjdk.java.net/projects/audio-engine/ http://openjdk.java.net/projects/font-scaler/ http://openjdk.java.net/projects/graphics-rasterizer/ Color Chooser Something else I don't know which parts in color chooser are encumbered, but Quaqua and Substance LAFs provide BSD-licensed implementations of color chooser panels: http://www.randelshofer.ch/quaqua/guide/jcolorchooser.html https://substance.dev.java.net/release-info/2.2/localization-color-chooser.png Some of the artwork is probably copyrighted by Apple, and this is why i have a custom version in Substance (created in Java2D code) https://substance.dev.java.net/release-info/2.0/colorchooser-crayons.png This specific panel can be easily dropped. Kirill ----- Original Message ---- From: Colin Henry To: swing-dev at openjdk.java.net Sent: Tuesday, May 15, 2007 7:45:47 AM Subject: List of encumbrances Is there a list of the encumbrances, if any, for swing that is available? It would be nice to have a starting point to see what needs to be done. Thanks, Colin Henry jchenry at gmail.com ____________________________________________________________________________________ We won't tell. Get more on shows you hate to love (and love to hate): Yahoo! TV's Guilty Pleasures list. http://tv.yahoo.com/collections/265 -------------- next part -------------- An HTML attachment was scrubbed... URL: From roman at kennke.org Wed May 16 07:37:42 2007 From: roman at kennke.org (Roman Kennke) Date: Wed, 16 May 2007 09:37:42 +0200 Subject: List of encumbrances In-Reply-To: <822520.27424.qm@web52705.mail.re2.yahoo.com> References: <822520.27424.qm@web52705.mail.re2.yahoo.com> Message-ID: <1179301062.5970.15.camel@mercury> Am Dienstag, den 15.05.2007, 17:01 -0700 schrieb Kirill Grouchnikov: > I forgot the umbrella link, but there have been five modules: > > http://openjdk.java.net/projects/audio-engine/ > http://openjdk.java.net/projects/font-scaler/ > http://openjdk.java.net/projects/graphics-rasterizer/ > Color Chooser > Something else > I don't know which parts in color chooser are encumbered, but Quaqua > and Substance LAFs provide BSD-licensed implementations of color > chooser panels: I think this is not about a color chooser in Swing, but about the color management library in java.awt.color. /Roman From Jeff.Dinkins at Sun.COM Wed May 16 16:43:35 2007 From: Jeff.Dinkins at Sun.COM (Jeff Dinkins) Date: Wed, 16 May 2007 11:43:35 -0500 Subject: List of encumbrances In-Reply-To: <1179301062.5970.15.camel@mercury> References: <822520.27424.qm@web52705.mail.re2.yahoo.com> <1179301062.5970.15.camel@mercury> Message-ID: <71690024-B951-48EF-BD8D-69A5A4A35EEB@Sun.com> Hi - Someone from the Swing team will no doubt pipe up with the definitive answer, but my belief is that there is no encumbered Swing code as such. There were a few images that were pulled out for trademark/ copyright reasons, but those were replaced by "home grown" versions. The discussion about the audio and 2D encumbrances will (of course) take place on those aliases. :-) jeff On May 16, 2007, at 2:37 AM, Roman Kennke wrote: > Am Dienstag, den 15.05.2007, 17:01 -0700 schrieb Kirill Grouchnikov: >> I forgot the umbrella link, but there have been five modules: >> >> http://openjdk.java.net/projects/audio-engine/ >> http://openjdk.java.net/projects/font-scaler/ >> http://openjdk.java.net/projects/graphics-rasterizer/ >> Color Chooser >> Something else > >> I don't know which parts in color chooser are encumbered, but Quaqua >> and Substance LAFs provide BSD-licensed implementations of color >> chooser panels: > > I think this is not about a color chooser in Swing, but about the > color > management library in java.awt.color. > > /Roman > > From Tom.Marble at Sun.COM Sat May 19 21:10:16 2007 From: Tom.Marble at Sun.COM (Tom Marble) Date: Sat, 19 May 2007 16:10:16 -0500 Subject: test message Message-ID: <464F67B8.4090307@sun.com> All: Please ignore this test message. --Tom From Tom.Marble at Sun.COM Wed May 23 20:01:48 2007 From: Tom.Marble at Sun.COM (Tom Marble) Date: Wed, 23 May 2007 15:01:48 -0500 Subject: Project proposal: fbtoolkit Message-ID: <46549DAC.30501@sun.com> All: In conjunction with Steph Meslin-Weber [1] I would like to propose a new OpenJDK project: fbtoolkit The objective of this project is to produce a body of code which is a lightweight framebuffer-based peer implementation for AWT and Swing. The goal of this code is to remove the dependency on X or other graphics layers such that graphics can be redirected to a framebuffer (e.g. a raw buffer, VNC, etc.). This example implementation will prefer pure-Java solutions, with public extension points available to enter native resources as necessary. In prototyping this functionality with OpenJDK it should be possible demonstrate this graphics redirection via a command line such as: % java -Dawt.toolkit=net.java.openjdk.fbtoolkit.Toolkit -jar myApp.jar NOTE: there are many other options which one would want to specify (e.g. bit depth, encoding, geometry, port number, etc.) and these can all be collected into a properties file which is implicitly named (based upon the provider) or overridden on the command line. Examples of usage include: implementation debugging, device emulation, multiple-head clone outputs/inputs, simultaneous multiple-peer output, etc. As this proposal is most closely related to the AWT [2] and Swing [3] groups they have been added on CC: and as such we would like to request sponsorship from these groups. Please note that per the interim OpenJDK guidelines for Projects [4] that followups should go the discuss list [5]. Thank you for your consideration, --Tom & Steph [1] Steph is a Participant Steph's blog: http://blog.tangency.co.uk/ java.net ident: twiun [2] the AWT Group: http://openjdk.java.net/groups/awt/ [3] the Swing Group: http://openjdk.java.net/groups/swing/ [4] Proposing Projects: http://openjdk.java.net/projects/ [5] discuss: http://mail.openjdk.java.net/mailman/listinfo/discuss From Phil.Race at Sun.COM Wed May 23 20:23:04 2007 From: Phil.Race at Sun.COM (Phil Race) Date: Wed, 23 May 2007 13:23:04 -0700 Subject: Project proposal: fbtoolkit In-Reply-To: <46549DAC.30501@sun.com> References: <46549DAC.30501@sun.com> Message-ID: <4654A2A8.4020400@sun.com> I don't follow what this has to do with Swing. 2D would be more affected .. Swing is ignorant of whether the Motif or X toolkit is specified and even works with the headless toolkit. Also the existing toolkits can still leverage all of the same internal 2D native code for rendering. I don't see where you are going to get that from unless if its going to be a pure Java solution. -phil. Tom Marble wrote: > All: > > In conjunction with Steph Meslin-Weber [1] I would like to propose > a new OpenJDK project: fbtoolkit > > The objective of this project is to produce a body of code which is > a lightweight framebuffer-based peer implementation for AWT and Swing. > The goal of this code is to remove the dependency on X or > other graphics layers such that graphics can be redirected to > a framebuffer (e.g. a raw buffer, VNC, etc.). This example > implementation will prefer pure-Java solutions, with public > extension points available to enter native resources as necessary. > > In prototyping this functionality with OpenJDK it > should be possible demonstrate this graphics redirection > via a command line such as: > % java -Dawt.toolkit=net.java.openjdk.fbtoolkit.Toolkit -jar myApp.jar > > NOTE: there are many other options which one would want > to specify (e.g. bit depth, encoding, geometry, port number, etc.) and > these can all be collected into a properties file which is > implicitly named (based upon the provider) or overridden on > the command line. > > Examples of usage include: implementation debugging, device > emulation, multiple-head clone outputs/inputs, simultaneous > multiple-peer output, etc. > > As this proposal is most closely related to the AWT [2] and Swing [3] > groups they have been added on CC: and as such we would like to > request sponsorship from these groups. > > Please note that per the interim OpenJDK guidelines for Projects [4] > that followups should go the discuss list [5]. > > Thank you for your consideration, > > --Tom & Steph > > [1] Steph is a Participant > Steph's blog: http://blog.tangency.co.uk/ > java.net ident: twiun > [2] the AWT Group: http://openjdk.java.net/groups/awt/ > [3] the Swing Group: http://openjdk.java.net/groups/swing/ > [4] Proposing Projects: http://openjdk.java.net/projects/ > [5] discuss: http://mail.openjdk.java.net/mailman/listinfo/discuss > > From Phil.Race at Sun.COM Thu May 24 04:25:52 2007 From: Phil.Race at Sun.COM (Phil Race) Date: Wed, 23 May 2007 21:25:52 -0700 Subject: Project proposal: fbtoolkit In-Reply-To: <4654EE52.6010605@sun.com> References: <46549DAC.30501@sun.com> <4654A2A8.4020400@sun.com> <4654EE52.6010605@sun.com> Message-ID: <465513D0.3020202@sun.com> Tom Marble wrote: > Phil Race wrote: > >> I don't follow what this has to do with Swing. 2D would be more affected .. >> Swing is ignorant of whether the Motif or X toolkit is specified >> and even works with the headless toolkit. >> >> Also the existing toolkits can still leverage all of the >> same internal 2D native code for rendering. I don't see where >> you are going to get that from unless if its going to be >> a pure Java solution. >> > > Please note that following the Projects guidelines followups are > intended to go to the discuss list [1]. > Thats a broken process. It should go to affected groups. Any assumption that every one reads or even knows about 'discuss' is wrong and for ever will be. > I confess I am not a client or graphics expert. I can appreciate > the advantages, however, of device emulation and multiple-head > clone outputs/inputs, etc. If Swing is less appropriate than 2D > then perhaps 2D would be a more appropriate Group to sponsor this > Project? > So does it really make sense to propose a project you think is a cool idea you don't understand and then disappear? I think proposals should come only from someone who is committed to the idea and will work on it. > Allow me to clarify, as well, that the purpose of this project > is experimental and for prototyping. Think of this as a KSL [2] > style Project that should be associated with the appropriate > Group (i.e. 2D or AWT). Obviously such a Project, if approved, would > need a VCS "sandbox" as described in [1]: "Projects that are not > tightly related to the development of JDK 7 will, for now, also be > given a regular java.net project within the java.net OpenJDK Community." > > Can we get a Group sponsor? > I don't think we have a clue what sponsorship means. It certainly can't mean in this case any work from Sun engineers ( wish we had time for such ideas ourselves), or taking it back into openjdk in any time in the forseeable future. It just seems like an interesting expt this time, with unproven practical applications. -Phil > --Tom > > [1] http://openjdk.java.net/projects/ > [2] http://blogs.sun.com/ahe/entry/ksl_open > From Joshua.Marinacci at Sun.COM Thu May 24 15:34:25 2007 From: Joshua.Marinacci at Sun.COM (Joshua Marinacci) Date: Thu, 24 May 2007 08:34:25 -0700 Subject: Project proposal: fbtoolkit In-Reply-To: <465513D0.3020202@sun.com> References: <46549DAC.30501@sun.com> <4654A2A8.4020400@sun.com> <4654EE52.6010605@sun.com> <465513D0.3020202@sun.com> Message-ID: I'm not sure who exactly would want to sponsor this project and which teams would be involved. Since AWT, 2D, and Swing are so closely related they would likely all be involved. I can speak, however, to the practical need for this project. There are many use cases for a completely virtualized toolkit. * www.glossitope.org This is a project I started which lets you write widgets that run on your desktop in Java. The version I prepared for JavaOne has lots of cool effects that involve scaling, shearing, and otherwise animating the widgets in weird ways. Since the widgets are just Swing panels I draw them into buffered images and then blit those to the screen. This has lots of odd problems that are hard to fix properly, such as dealing with focus, handling combobox popups, and keyboard events. These problems are difficult (if not impossible) to solve outside of core. * Project Looking Glass Paul Byrne and I have discussed this extensively and he even had another researcher start building a headless AWT that could be projected into the Java3D scene graph. They got pretty far but ran into a few places where AWT assumes it has a real windowing system with access to X11 window handles. These are also impossible to fix without changes to core. Solveing this would let them put Swing applications directly into the 3d environment * JOGL Minimal Scene Graph Ken Russell and others would like to project Swing components directly into the JOGL scene graph that they are building. This would let you have a Swing panel that appears normal but can then slide into the background to be replaced by other panel. * full screen video games We would like to let people use Swing components as the heads up display in full screen video games. This means running in an environment where there is no windowing system at all. This would also be useful for kiosks and other semi-embedded environments. So you can see, there is a great need for a virtualized Toolkit. I think that most of the work could be done at the AWT level (and hopefully let me scrap most of my Swing level hacks) but undoubtedly it will affect many areas in core. This is something that is vitally needed to let us take Java SE into new environments. thx, Josh >> Allow me to clarify, as well, that the purpose of this project >> is experimental and for prototyping. Think of this as a KSL [2] >> style Project that should be associated with the appropriate >> Group (i.e. 2D or AWT). Obviously such a Project, if approved, would >> need a VCS "sandbox" as described in [1]: "Projects that are not >> tightly related to the development of JDK 7 will, for now, also be >> given a regular java.net project within the java.net OpenJDK >> Community." >> >> Can we get a Group sponsor? >> > > I don't think we have a clue what sponsorship means. It certainly > can't mean in this case any > work from Sun engineers ( wish we had time for such ideas > ourselves), or taking it back into openjdk > in any time in the forseeable future. > > It just seems like an interesting expt this time, with unproven > practical applications. - Blasting forth in three part harmony! -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.beck at sun.com Thu May 24 18:18:47 2007 From: brian.beck at sun.com (Brian Beck) Date: Thu, 24 May 2007 11:18:47 -0700 Subject: Testing - Please Ignore Message-ID: <4655D707.70403@sun.com> Sorry. Brian. From mr at sun.com Thu May 24 05:12:39 2007 From: mr at sun.com (Mark Reinhold) Date: Wed, 23 May 2007 22:12:39 -0700 Subject: Project proposal: fbtoolkit In-Reply-To: phil.race@sun.com; Wed, 23 May 2007 21:25:52 PDT; <465513D0.3020202@sun.com> Message-ID: <20070524051239.1FF405ED5@callebaut.niobe.net> > Date: Wed, 23 May 2007 21:25:52 -0700 > From: phil.race at sun.com > Tom Marble wrote: >> Please note that following the Projects guidelines followups are >> intended to go to the discuss list [1]. > > Thats a broken process. It should go to affected groups. A Project does not necessarily need group sponsorship, which is why the interim project-proposal process doesn't define a notion of "affected groups". If the proposer of a new Project does know of one or more groups that are potential sponsors then it'd likely be more efficient to poll those groups for support before proposing the new Project, but doing so is not required. > Any assumption that every one reads or even knows about 'discuss' is > wrong and for ever will be. That's why project proposals are posted to the announce list, with follow-ups to the discuss list. Tom did in fact cc the AWT and Swing lists, though in retrospect he probably should've cc'd the 2D list as well. > So does it really make sense to propose a project you think is a cool > idea you don't understand and then disappear? > I think proposals should come only from someone who is committed to the > idea and will work on it. It would be helpful to hear answers to Phil's technical questions, either from Tom, from Steph, or from someone else who intends to work on this Project. >> Allow me to clarify, as well, that the purpose of this project >> is experimental and for prototyping. ... >> >> Can we get a Group sponsor? > > I don't think we have a clue what sponsorship means. It certainly > can't mean in this case any work from Sun engineers ( wish we had time > for such ideas ourselves), or taking it back into openjdk in any time > in the forseeable future. In the interim governance guidelines, sponsorship means only that the majority of the members of a Group think that the project is worthwhile. It does not imply any kind of commitment of effort, nor does it imply that the code will one day be integrated into any particular JDK tree. (I'll clarify this in the guidelines.) > It just seems like an interesting expt this time, with unproven > practical applications. Personally I think that the OpenJDK Community should be open to all kinds of interesting experiments. That's often, after all, the best way to learn things. - Mark From steph at tangency.co.uk Thu May 24 15:38:57 2007 From: steph at tangency.co.uk (Steph Meslin-Weber) Date: Thu, 24 May 2007 16:38:57 +0100 Subject: Project proposal: fbtoolkit In-Reply-To: <4654A2A8.4020400@sun.com> References: <46549DAC.30501@sun.com> <4654A2A8.4020400@sun.com> Message-ID: Hi Phil, Thanks for your comments, I wasn't certain how verbose the initial proposal was supposed to be so we left out the details from the usecases. In order to keep this thread in one list (it's starting to confuse Gmail a bit) we could continue this conversation in discuss for now. I have Bcc'd the other lists (including 2d following Mark's use) to let everyone on those lists know to check discuss for followups: Bcc: awt-dev at openjdk.java.net Bcc: 2d-dev at openjdk.java.net Bcc: swing-dev at openjdk.java.net As the discussion moves on we can move it to the one group that seems most appropriate. On 23/05/07, Phil Race wrote: > I don't follow what this has to do with Swing. 2D would be more affected .. > Swing is ignorant of whether the Motif or X toolkit is specified > and even works with the headless toolkit. Agreed, Swing shouldn't use knowledge of the underlying implementation. The reasoning behind including Swing in the discussion is the SwingAWT work by Roman Kennke. In his project, he implemented AWT peers using Swing [1]. Now, whether the Swing implementation is native is another topic of discussion :-) > Also the existing toolkits can still leverage all of the > same internal 2D native code for rendering. I don't see where > you are going to get that from unless if its going to be > a pure Java solution. I think here we tried to show that the example implementation would be written in pure Java, with extension points to break to native code as needed: "This example implementation will prefer pure-Java solutions, with public extension points available to enter native resources as necessary." Starting with pure Java means we have a baseline that is easier to understand than one that jumps back and forth to native code, this also incidentally makes it an ideal example for those wishing to write their own set of peers. It's a given that without those jumps certain optimisations aren't practical to implement, but that's why we'd like to do this in the open so those situations can be discussed and planned for. Before going on to a few usecases, I'd like to mention that I already have a fair amount of code in support of this proof of concept, including providers for raw linux fb, VNC and (as of 2 hours ago, thanks Guillaume!) a pure Java X11 provider; there is also embryonic work on an SDL provider to ensure we cover as many platforms as possible. > > Examples of usage include: implementation debugging, device > > emulation, multiple-head clone outputs/inputs, simultaneous > > multiple-peer output, etc. Example usecases: 1) Implementation debugging is one that is fairly simple to explain, it becomes a tool for us to track down AWT/Swing issues by excluding native resources as a possible error source. (Yes it introduces another factor, but at least it's independent). This also allows for some device emulation, screen sizes, pixel encoding, etc. 2) Realtime output/input on a device (say an N800 [2]) with simultaneous output/input of the exact same screen contents on an attached PC. This is in effect multiplexing two different devices onto a single Java stack. Control of the device from the PC. Useful when your touchscreen driver isn't written yet. 3) Distributed remote software agents exposing a VNC or X11 capable UI. Easier to secure and to use than a fullblown VNC or X11 server on a dedicated host. Easier to deploy too. This is in effect a kernel+jvm+libc on any hardware. Including headless ones like a router. 4) Point of Sale, The network is the machine, etc... lightweight PXE images booting a rich Swing UI direct to their framebuffer. Small PXE image, few external dependencies. For bonus points, let the client decide which provider to load from a Jini cloud depending on need. 5) Multicast a single UI via VNC, kiosk-type advertising or interaction: one window per terminal. Please let me know if I've left a few out. Thanks, Steph [1] awtswing, http://kennke.org/~roman/swing-based-awt.png [2] N800, http://www.nseries.com/n800 [3] Maemo, http://maemo.org/ -- ================================================================ Steph Meslin-Weber, steph at tangency.co.uk ================================================================ From Dmitri.Trembovetski at Sun.COM Thu May 24 16:46:56 2007 From: Dmitri.Trembovetski at Sun.COM (Dmitri Trembovetski) Date: Thu, 24 May 2007 09:46:56 -0700 Subject: Project proposal: fbtoolkit In-Reply-To: References: <46549DAC.30501@sun.com> <4654A2A8.4020400@sun.com> <4654EE52.6010605@sun.com> <465513D0.3020202@sun.com> Message-ID: <4655C180.1050100@Sun.COM> > * full screen video games > We would like to let people use Swing components as the heads up > display in full screen video games. This means running in an environment > where there is no windowing system at all. This would also be useful > for kiosks and other semi-embedded environments. You can do that right now, Swing works (mostly) fine in fullscreen mode. Thanks, Dmitri Joshua Marinacci wrote: > I'm not sure who exactly would want to sponsor this project and which > teams would be involved. Since AWT, 2D, and Swing are so closely related > they would likely all be involved. I can speak, however, to the > practical need for this project. There are many use cases for a > completely virtualized toolkit. > > * www.glossitope.org > This is a project I started which lets you write widgets that run on > your desktop in Java. The version I prepared for JavaOne has lots of > cool effects that involve scaling, shearing, and otherwise animating the > widgets in weird ways. Since the widgets are just Swing panels I draw > them into buffered images and then blit those to the screen. This has > lots of odd problems that are hard to fix properly, such as dealing with > focus, handling combobox popups, and keyboard events. These problems > are difficult (if not impossible) to solve outside of core. > > * Project Looking Glass > Paul Byrne and I have discussed this extensively and he even had > another researcher start building a headless AWT that could be projected > into the Java3D scene graph. They got pretty far but ran into a few > places where AWT assumes it has a real windowing system with access to > X11 window handles. These are also impossible to fix without changes to > core. Solveing this would let them put Swing applications directly into > the 3d environment > > * JOGL Minimal Scene Graph > Ken Russell and others would like to project Swing components directly > into the JOGL scene graph that they are building. This would let you > have a Swing panel that appears normal but can then slide into the > background to be replaced by other panel. > > * full screen video games > We would like to let people use Swing components as the heads up > display in full screen video games. This means running in an environment > where there is no windowing system at all. This would also be useful > for kiosks and other semi-embedded environments. > > > So you can see, there is a great need for a virtualized Toolkit. I think > that most of the work could be done at the AWT level (and hopefully let > me scrap most of my Swing level hacks) but undoubtedly it will affect > many areas in core. This is something that is vitally needed to let us > take Java SE into new environments. > > thx, > Josh > >>> Allow me to clarify, as well, that the purpose of this project >>> is experimental and for prototyping. Think of this as a KSL [2] >>> style Project that should be associated with the appropriate >>> Group (i.e. 2D or AWT). Obviously such a Project, if approved, would >>> need a VCS "sandbox" as described in [1]: "Projects that are not >>> tightly related to the development of JDK 7 will, for now, also be >>> given a regular java.net project within the java.net OpenJDK Community." >>> >>> Can we get a Group sponsor? >>> >>> >>> >> >> I don't think we have a clue what sponsorship means. It certainly >> can't mean in this case any >> work from Sun engineers ( wish we had time for such ideas ourselves), >> or taking it back into openjdk >> in any time in the forseeable future. >> >> It just seems like an interesting expt this time, with unproven >> practical applications. > > > > - Blasting forth in three part harmony! > > From Jeff.Dinkins at Sun.COM Thu May 24 18:48:21 2007 From: Jeff.Dinkins at Sun.COM (Jeff Dinkins) Date: Thu, 24 May 2007 13:48:21 -0500 Subject: Project proposal: fbtoolkit In-Reply-To: References: <46549DAC.30501@sun.com> <4654A2A8.4020400@sun.com> Message-ID: Tom Marble wrote: > Can we get a Group sponsor? So a point of order: http://openjdk.java.net/projects/ "A Group makes this decision by a simple majority vote of its Members, tallied by its Moderator. If at least one Group agrees to sponsor the proposed Project within the two-week discussion period following the proposal then it will automatically be approved." 1. At some point, we'll need a call for votes from the groups involved. Can anyone make the call for vote, or does the group Moderator do it at their will, e.g. when the discussion dies down, or when 2 weeks are up? 2. Tom and Steph have asked for sponsorship from any of these groups: AWT, Swing, & 2D. Should all three take separate votes? From Jeannette.Hung at Sun.COM Fri May 25 17:35:46 2007 From: Jeannette.Hung at Sun.COM (Jeannette Hung) Date: Fri, 25 May 2007 10:35:46 -0700 Subject: Project proposal: fbtoolkit In-Reply-To: <81f0d9c0705241918n4ede3f8aoc8fc7895c5f4fdaf@mail.gmail.com> References: <46549DAC.30501@sun.com> <4654A2A8.4020400@sun.com> <4655CE76.30503@sun.com> <81f0d9c0705241918n4ede3f8aoc8fc7895c5f4fdaf@mail.gmail.com> Message-ID: <46571E72.2000000@sun.com> Hey Stuart, As you probably know, we had been working feverishly to get our code in a state that we could put it out for JavaOne. The amount of software in the JDK is huge, and the amount of work that we've had to do to get it to where we currently have it has taken a lot of people and many, many hours. Because of all of that work, we haven't had much time to work out all of the rules for interim governance, and even less to communicate what's going on so some of what you are seeing is growing pains as we all build a common understanding of how this community will develop. The kinds of questions being asked by the engineers are typical ones asked internally when Sun engineers propose projects that they would like to be accepted. This is certainly necessary for us because we have to make sure that we are properly using our limited internal resources. This type of scrutiny may make less sense for projects that are staffed by non-Sun engineers. I apologize if you are feeling beleaguered -- that was not our intention. This is just the first proposal that we had seen in our groups and we hadn't heard of the notion of sponsorship before this discussion started so you caught us unawares. jeannette Stuart McCulloch wrote: > On 25/05/07, Oleg Sukhodolsky wrote: >> imho all functionality suggested could be achieved by fb-based XServer, >> why do you need to reinvent the wheel and develop a toolkit which will >> implement some functionality of XServer, some functionality of Window >> Manager, and AWT toolkit. >> >> What is the advantage of the approach you suggest? > > perhaps better use of memory/resources? > > sometimes a bit of (re)invention can uncover new and interesting paths... > > On 24/05/07, Phil Race wrote: >> I don't think we have a clue what sponsorship means. It certainly can't >> mean in this case any work from Sun engineers ( wish we had time for >> such ideas ourselves), or taking it back into openjdk in any time in the >> forseeable future. > > I guess the question I have about this discussion is whether openjdk > is just a place to grab the JDK source, or whether it's a place where > people can really take part, innovate and contribute back? > >> >> Thanks, Oleg. >> >> Steph Meslin-Weber wrote: >> > Hi Phil, >> > >> > Thanks for your comments, I wasn't certain how verbose the initial >> > proposal was supposed to be so we left out the details from the >> > usecases. >> > >> > In order to keep this thread in one list (it's starting to confuse >> > Gmail a bit) we could continue this conversation in discuss for now. >> > I have Bcc'd the other lists (including 2d following Mark's use) to >> > let everyone on those lists know to check discuss for followups: >> > Bcc: awt-dev at openjdk.java.net >> > Bcc: 2d-dev at openjdk.java.net >> > Bcc: swing-dev at openjdk.java.net >> > As the discussion moves on we can move it to the one group that seems >> > most appropriate. >> > >> > On 23/05/07, Phil Race wrote: >> >> I don't follow what this has to do with Swing. 2D would be more >> >> affected .. >> >> Swing is ignorant of whether the Motif or X toolkit is specified >> >> and even works with the headless toolkit. >> > >> > Agreed, Swing shouldn't use knowledge of the underlying >> > implementation. The reasoning behind including Swing in the discussion >> > is the SwingAWT work by Roman Kennke. In his project, he implemented >> > AWT peers using Swing [1]. Now, whether the Swing implementation is >> > native is another topic of discussion :-) >> > >> >> Also the existing toolkits can still leverage all of the >> >> same internal 2D native code for rendering. I don't see where >> >> you are going to get that from unless if its going to be >> >> a pure Java solution. >> > >> > I think here we tried to show that the example implementation would be >> > written in pure Java, with extension points to break to native code as >> > needed: >> > >> > "This example implementation will prefer pure-Java solutions, with >> > public extension points available to enter native resources as >> > necessary." >> > >> > Starting with pure Java means we have a baseline that is easier to >> > understand than one that jumps back and forth to native code, this >> > also incidentally makes it an ideal example for those wishing to write >> > their own set of peers. It's a given that without those jumps certain >> > optimisations aren't practical to implement, but that's why we'd like >> > to do this in the open so those situations can be discussed and >> > planned for. >> > >> > >> > Before going on to a few usecases, I'd like to mention that I already >> > have a fair amount of code in support of this proof of concept, >> including >> > providers for raw linux fb, VNC and (as of 2 hours ago, thanks >> Guillaume!) >> > a pure Java X11 provider; there is also embryonic work on an SDL >> provider >> > to ensure we cover as many platforms as possible. >> > >> >> > Examples of usage include: implementation debugging, device >> >> > emulation, multiple-head clone outputs/inputs, simultaneous >> >> > multiple-peer output, etc. >> > >> > Example usecases: >> > >> > 1) Implementation debugging is one that is fairly simple to explain, >> > it becomes a tool for us to track down AWT/Swing issues by excluding >> > native resources as a possible error source. (Yes it introduces >> > another factor, but at least it's independent). This also allows for >> > some device emulation, screen sizes, pixel encoding, etc. >> > >> > 2) Realtime output/input on a device (say an N800 [2]) with >> > simultaneous output/input of the exact same screen contents on an >> > attached PC. This is in effect multiplexing two different devices >> onto >> > a single Java stack. Control of the device from the PC. Useful when >> > your touchscreen driver isn't written yet. >> > >> > 3) Distributed remote software agents exposing a VNC or X11 capable >> > UI. Easier to secure and to use than a fullblown VNC or X11 server on >> > a dedicated host. Easier to deploy too. This is in effect a >> > kernel+jvm+libc on any hardware. Including headless ones like a >> > router. >> > >> > 4) Point of Sale, The network is the machine, etc... lightweight PXE >> > images booting a rich Swing UI direct to their framebuffer. Small PXE >> > image, few external dependencies. For bonus points, let the client >> > decide which provider to load from a Jini cloud depending on need. >> > >> > 5) Multicast a single UI via VNC, kiosk-type advertising or >> > interaction: one window per terminal. >> > >> > Please let me know if I've left a few out. >> > >> > Thanks, >> > Steph >> > >> > [1] awtswing, http://kennke.org/~roman/swing-based-awt.png >> > [2] N800, http://www.nseries.com/n800 >> > [3] Maemo, http://maemo.org/ >> > >> > From Richard.Bair at Sun.COM Tue May 29 15:30:57 2007 From: Richard.Bair at Sun.COM (Richard Bair) Date: Tue, 29 May 2007 08:30:57 -0700 Subject: [PATCH] 6463712: JSpinner forwards events from old model In-Reply-To: <46486965.1030900@object-refinery.com> References: <46486965.1030900@object-refinery.com> Message-ID: Hey Dave, thanks for the patch. For those following along, I've been talking with Dave about it offline, sorry for not posting back to the openjdk list. I'm repenting :-). Also, due to post-JavaOne vacations, this is taking a wee bit longer than usual. I've looked at the patch, it looks good. I *really* appreciate the supplied test as well. The only thing I need to verify is that oldModel is never null (or this new line would produce an NPE). From a cursory look at JSpinner, it appears to never be null, but I need to take another look. Also, I'm working with Igor on a code review and putback. Thanks Dave! Richard On May 14, 2007, at 6:51 AM, David Gilbert wrote: > Hi, > > The attached patch is a proposed fix for bug 6463712. It is a one- > line fix to the setModel(SpinnerModel) method - the listener that > works on behalf of the JSpinner to forward events from the model > needs to be deregistered from the old model when a new model is > assigned. > > The patch includes a regression test that can be run using jtreg. > I also tested using the JSpinner-related tests in Mauve[1]. > > I'm working against the initial OpenJDK source release (b12). > Any questions, just ask... > > Regards, > > Dave Gilbert > http://www.jfree.org/ > > [1] http://sourceware.org/mauve/ > > diff -ruN j2se/src/share/classes/javax/swing/JSpinner.java ../mods/ > openjdk/j2se/src/share/classes/javax/swing/JSpinner.java > --- j2se/src/share/classes/javax/swing/JSpinner.java 2007-05-06 > 10:11:15.000000000 +0100 > +++ ../mods/openjdk/j2se/src/share/classes/javax/swing/ > JSpinner.java 2007-05-08 22:19:11.000000000 +0100 > @@ -286,6 +286,7 @@ > SpinnerModel oldModel = this.model; > this.model = model; > if (modelListener != null) { > + oldModel.removeChangeListener(modelListener); > this.model.addChangeListener(modelListener); > } > firePropertyChange("model", oldModel, model); > diff -ruN j2se/test/javax/swing/JSpinner/JSpinnerBug6463712.java ../ > mods/openjdk/j2se/test/javax/swing/JSpinner/JSpinnerBug6463712.java > --- j2se/test/javax/swing/JSpinner/JSpinnerBug6463712.java > 1970-01-01 01:00:00.000000000 +0100 > +++ ../mods/openjdk/j2se/test/javax/swing/JSpinner/ > JSpinnerBug6463712.java 2007-05-14 12:19:22.000000000 +0100 > @@ -0,0 +1,55 @@ > +/* > + * Copyright 2007, Object Refinery Limited. All Rights Reserved. > + * > + * This program is free software; you can redistribute it and/or > modify > + * it under the terms of the GNU General Public License as > published by > + * the Free Software Foundation; either version 2 of the License, or > + * (at your option) any later version. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA > + * 02110-1301, USA > + */ > + > +import javax.swing.JSpinner; > +import javax.swing.SpinnerDateModel; > +import javax.swing.SpinnerNumberModel; > +import javax.swing.event.ChangeEvent; > +import javax.swing.event.ChangeListener; > + > +/* > + * @test > + * @bug 6463712 > + * @summary Events forwarded from previous model > + */ > +public class JSpinnerBug6463712 implements ChangeListener { > + > + public JSpinnerBug6463712() > + { > + SpinnerNumberModel m1 = new SpinnerNumberModel(); > + JSpinner s = new JSpinner(m1); > + s.addChangeListener(this); > + SpinnerDateModel m2 = new SpinnerDateModel(); > + s.setModel(m2); > + > + // m1 is no longer linked to the JSpinner (it has been > replaced by m2), so > + // the following should not trigger a call to our stateChanged > () method... > + m1.setValue(new Integer(1)); > + } > + > + public void stateChanged(ChangeEvent e) > + { > + throw new RuntimeException("Should not receive this event."); > + } > + > + public static void main(String[] args) > + { > + JSpinnerBug6463712 bug = new JSpinnerBug6463712(); > + } > +} From david.gilbert at object-refinery.com Tue May 29 16:02:07 2007 From: david.gilbert at object-refinery.com (David Gilbert) Date: Tue, 29 May 2007 17:02:07 +0100 Subject: [PATCH] 6463712: JSpinner forwards events from old model In-Reply-To: References: <46486965.1030900@object-refinery.com> Message-ID: <465C4E7F.50709@object-refinery.com> Hi Richard, Richard Bair wrote: > Hey Dave, thanks for the patch. > > For those following along, I've been talking with Dave about it > offline, sorry for not posting back to the openjdk list. I'm repenting > :-). Also, due to post-JavaOne vacations, this is taking a wee bit > longer than usual. > > I've looked at the patch, it looks good. I *really* appreciate the > supplied test as well. The only thing I need to verify is that > oldModel is never null (or this new line would produce an NPE). From a > cursory look at JSpinner, it appears to never be null, but I need to > take another look. I thought about the possibility of an NPE, but I don't think it can happen. As I understood it, if modelListener is 'not null', then a model must have been set already. Subsequent to that, it isn't possible to set a null model, so when modelListener is 'not null', oldModel must be 'not null' too. If I'm wrong, hopefully you, someone else, or the test suites will spot it! > > Also, I'm working with Igor on a code review and putback. > Great! Dave From brian.beck at sun.com Tue May 29 23:39:43 2007 From: brian.beck at sun.com (Brian Beck) Date: Tue, 29 May 2007 16:39:43 -0700 Subject: Whither Swing Regression Tests Message-ID: <465CB9BF.6030502@sun.com> Over on the discuss forum, Dave Gilbert wrote: > I've got a fix for a bug in Swing (bug 6463712, related to the JSpinner > component) and have written a regression test that can be run using > jtreg. Now I'm looking to run some other regression tests to validate > my fix before submitting a patch. My understanding is that the > available regression tests are in the OpenJDK source bundle in the > 'j2se/test' directory...but there is nothing there for 'javax.swing.*'. > Elsewhere (on the 2d-dev list) Phil Race said: > > Regression tests - these are in the JDK under test but we are required > > to vet them almost one by one to verify their provenance and this is > > onerous. So most are not there yet. > Is there a plan for getting these tests out? Just asking for > information, I know you're busy... > What Phil Race said was exactly the case. We didn't have time to get all our regression tests opened up before the OpenJDK launch. We are, however, in the process of doing it. The first thing that you're likely to see is some infrastructure that all of our (Swing) tests require to run. After that's available we will pump out the actual tests as fast as we can. We'll post more information to this list when we have a better idea of when things might be available. Hope you understand. Brian. From Richard.Bair at Sun.COM Wed May 30 18:19:03 2007 From: Richard.Bair at Sun.COM (Richard Bair) Date: Wed, 30 May 2007 11:19:03 -0700 Subject: Whither Swing Regression Tests In-Reply-To: <465CB9BF.6030502@sun.com> References: <465CB9BF.6030502@sun.com> Message-ID: <3C6CAC06-CF8F-4D66-90F3-4281192CCCF4@sun.com> Dave, It looks like your reg test will be the first one in our open source test directory :-). Richard