You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(28) |
Feb
(18) |
Mar
(10) |
Apr
(3) |
May
(1) |
Jun
(2) |
Jul
(15) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2004 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Brendan M. <hb...@an...> - 2004-03-30 05:07:26
|
Just committed the core changes I've been working on. They improve the ImageSource and ImageType concepts, this should make a lot of the other changes we want much cleaner. It will also make running Desque backed by the root_image_source a reasonable thing to do, based on the new HashedDirImageSource for storing resized images. I've tested the changes for Jigs systems both with and without a root_image_source using the Jigs.java frontend (which perhaps needs to be renamed) and also Desque. These are working for me, but because of the extent of the changes, some bugs are probably still lurking. Help in testing is appreciated. Also, I had to handle some conflicts in Desque.java and AlbumModel.java, which I think I did correctly, but you might want to make sure. I don't quite understand how Desque works with it's tree, so I'm not positive that the correct AlbumHierarchy is always pointed to, but again it seems to be working. - Brendan |
|
From: Brendan M. <hb...@an...> - 2004-03-30 01:17:12
|
I'm commenting the following code out in ObjectSerializer,
because I need to store a file in the config file that might not exist
yet. Is there any reason not to do this?
//if ((f != null) && f.exists()) return f;
//throw new RuntimeException("Null or Missing File: "+s);
|
|
From: Brendan M. <hb...@an...> - 2004-03-29 00:52:56
|
Ok, I think I know how I want the image type system to work. It's a
little different than what I was talking about before, because it
doesn't have a central repository of types. I think this is better.
The main change is that images stored in an ImageSource no longer have
a type assigned to them, the ImageType is dynamically bound to the
Image each time the ImageSource is instantiated. This means images
can be shared between types, and also that you aren't screwed if you
redefine a type ... the right thing should happen. I don't have time
to implement this today, hopefully tomorrow, feel free to send me any
input. Hope the discussion below is clear.
An ImageType will contain the following information. This is very
similar to the information currently maintained:
Image Type:
// basic type information
name
short name
max dimension
min dimension
// image creation parameters (not dynamically assigned)
//(Only matter to ImageConverterThread)
quality
scaleUp
scaleDown
canCopy
// link information (one of the following is true, probably
// accessed through methods, info stored in a single boolean
isRescaledCopy
true for images created by the ImageConverterThread, i.e.,
all rescaled images.if isRescaledCopy is true, then this
image type can (possibly) bind to some images in the image
source dir. the ImageSource binds the largest image that
matches the types dimensions.
isOriginalRef // is a link to the original image
an ImageType isOriginal isn't bound by any image, but an
Image of this type is always present in the image source,
by reference to the original.
ImageType's serve two functions: telling the ImageConverterThread how
to create a ImageSource directory full of resized images, and letting
a client (a RenderEngine or Desque) specify what types of images it
wants. Some discussion of these two functions:
-> tell the ImageConverterThread how to create an
ImageSource for a particular web project.
How this works: ImageConverter takes an album and an array of
ImageTypes as input. If a root image source is available, it creates
an ImageSource on top of that directory, dynamically binding the
images to the types it was provided. It then creates a new image
source, by copying from the root image source or original when
possible, and resizing when this isn't possible. If we make it so the
root image source always exists, and has at least the original image
type, then we can view the ImageConverter as always taking as input an
image source (the root image source), plus an album, plus a set of
image types.
-> let's a renderer or desque tell an ImageSource what it
wants/needs (provides a set of ImageTypes for dynamic
binding)
How this works: A Renderer (or Desque) provides a set of image types.
The framework then creates an ImageSource from the set of image types
and (possibly) an image source directory. For each ImageType that has
isRescaledCopy true, the ImageSource associates the largest image in
the directory within the max dimensions with that type. For each
image type that has isOriginalRef set to true, it _always_ creates an
image, by linking to the original and setting an approrpriate image
size (which will be placed in the html IMG tag). In general, Desque
can have it's own set of types, which should be designed so they
encompass all image sizes (ie, any image in the image source will be
bound to some image for Desque).
Advantages of this system:
can maintain several sets of image types for creating web
output, one or more for each renderer if desired. the image
types can share output images in the root image source or other
image sources when the types overlap in required dimensions.
also, it is easy to generate local web pages that link to
whatever images are available in the root image source.
There will be a few other small changes associated with this, but
that's the main idea. The same file format for sets of image types
will be used, but I think I'll put the code for loading those into
BasicImageType as static methods, and get rid of
BasicImageTypeSource. I'll also update the ImageType interface so
it's actually usable; currently a lot of things ignore the interface
and refer to BasicImageType.
- Brendan
|
|
From: Brendan M. <mcm...@ux...> - 2004-01-28 20:25:39
|
Here is a java library for image metadata extraction that we might want to look into using: http://www.drewnoakes.com/code/exif/ The page also links to some other java image gallery bits of software. In particular, it would be nice to have IPTC support ... I just got some images from somebody that has captions in that format. Here's a little info on the format: http://www.controlledvocabulary.com/imagedatabases/iptc_naa.html - Brendan |
|
From: H. B. M. <mc...@cs...> - 2004-01-14 14:14:30
|
Oh, I get it. I copied the comment from this email, but forgot to delete
the last line.
Fixed Desque so it uses appropriate MediaSource, that is, it uses the root
source if it is available. Also, always uses AlbumWithIncludes, instead of
just for the first root. Correctly propigates MediaSource to these new
albums created in DesqueAOUtil. Changed inappropriate comments derogatory to
some developers. Sadly, desque seems broken on albums with includes, see
below.
- Brendan
Found 39 pictures
java.lang.NullPointerException
at edu.whitman.halfway.jigs.PictureFilterAdapter.accept(Unknown
Source)
at edu.whitman.halfway.jigs.FilterUtil.filterPictures(Unknown Source)
at edu.whitman.halfway.jigs.AlbumWithIncludes.getIncludedItems(Unknown
Source)
at edu.whitman.halfway.jigs.AlbumWithIncludes.getSubAlbums(Unknown
Source)
at edu.whitman.halfway.jigs.BasicAlbum.getAlbumObjects(Unknown Source)
at
edu.whitman.halfway.jigs.gui.desque.AlbumModel.loadCurrentAlbum(Unknown
Source)
at edu.whitman.halfway.jigs.gui.desque.AlbumModel.setAlbum(Unknown
Source)
at
edu.whitman.halfway.jigs.gui.desque.DesqueTable$TableMouseListener.mouseClicked(Unknown
Source)
at
java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:212)
at java.awt.Component.processMouseEvent(Component.java:5103)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:3207)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.IndexOutOfBoundsException: Index: 8, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at
edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAtIndex(Unknown
Source)
at edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAt(Unknown
Source)
at javax.swing.JTable.getValueAt(JTable.java:1771)
at javax.swing.JTable.prepareRenderer(JTable.java:3724)
at
javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:1149)
at
javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1051)
at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:974)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at
javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4787)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740)
at javax.swing.JComponent._paintImmediately(JComponent.java:4685)
at javax.swing.JComponent.paintImmediately(JComponent.java:4488)
at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.IndexOutOfBoundsException: Index: 8, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at
edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAtIndex(Unknown
Source)
at edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAt(Unknown
Source)
at javax.swing.JTable.getValueAt(JTable.java:1771)
at javax.swing.JTable.prepareRenderer(JTable.java:3724)
at
javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:1149)
at
javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1051)
at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:974)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at
javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4787)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740)
at javax.swing.JComponent._paintImmediately(JComponent.java:4685)
at javax.swing.JComponent.paintImmediately(JComponent.java:4488)
at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at
edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAtIndex(Unknown
Source)
at edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAt(Unknown
Source)
at javax.swing.JTable.getValueAt(JTable.java:1771)
at javax.swing.JTable.prepareRenderer(JTable.java:3724)
at
javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:1149)
at
javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1051)
at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:974)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JViewport.paint(JViewport.java:722)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1021)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at javax.swing.JComponent.paint(JComponent.java:817)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:557)
at javax.swing.JComponent.paintChildren(JComponent.java:647)
at
javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4794)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740)
at javax.swing.JComponent.paint(JComponent.java:798)
at
java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
at
sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
at
sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
at java.awt.Container.paint(Container.java:1312)
at sun.awt.RepaintArea.paint(RepaintArea.java:177)
at sun.awt.motif.MComponentPeer.handleEvent(MComponentPeer.java:405)
at java.awt.Component.dispatchEventImpl(Component.java:3678)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.IndexOutOfBoundsException: Index: 8, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at
edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAtIndex(Unknown
Source)
at edu.whitman.halfway.jigs.gui.desque.AlbumModel.getValueAt(Unknown
Source)
at javax.swing.JTable.getValueAt(JTable.java:1771)
at javax.swing.JTable.prepareRenderer(JTable.java:3724)
at
javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:1149)
at
javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1051)
at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:974)
at javax.swing.plaf.ComponentUI.update(ComponentUI.java:142)
at javax.swing.JComponent.paintComponent(JComponent.java:541)
at javax.swing.JComponent.paint(JComponent.java:808)
at
javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4787)
at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4740)
at javax.swing.JComponent._paintImmediately(JComponent.java:4685)
at javax.swing.JComponent.paintImmediately(JComponent.java:4488)
at
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
at
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
|
|
From: H. B. M. <mc...@cs...> - 2003-07-31 15:42:36
|
I verified that the date on my camera was off. The dates are only wrong in the old images, so presumably it is an old bug. But, the really old dates were stored like "July 20, 2000", etc, and those dates are correct. Its the conversion of that too the jigs.date format that got messed up. Still not sure how that happened, I'll try to figure it out later today. Probably the relevant code is in jigs.extras.brendan.FieldRenamer. I may ask for some help, though. :) - Brendan Also, I realized I forgot to actually commit last night. I'll do it when I come in. On Thu, 31 Jul 2003, Brent Bryan wrote: > I think there was a bug in the old date code. As far as I know, the > current date code is correct. This should be easy to check though. I can > do it a little later today and verify that it does indeed work, althought > I am pretty sure it works fine. > > > > -- > Brent Bryan > br...@wh... > > > |
|
From: Brendan M. <mcm...@ux...> - 2003-07-31 14:47:51
|
> Stupid pine automagically picks mcmahan@cs not the list. Yeah, exactly. > Anyway, I think this is a solved problem. I have looked into a bit more > and it appears to do the right thing. The major problem here is that exif > stores months starting from index 1 (Jan == 1, Feb ==2), whereas Java > stores dates with index 0 (Jan == 0, Feb == 1). I changed the > TimeDateUtil code to reflect this some time ago, but certainly not before > whitman, etc, which is why there is that distiction. As for the 10d... > The jurys still out on whether or not you can correctly set the date on > that thing! :) It's not quite that simple, because there have been at least 3 different date formats that we've used. The original whitman pictures all have dates like <date> May 15, 2000 at 2:15pm </date> which are correct. Then at some point you introduced seperate date and time fields, so it was store as the same strings, but split into two. And finally, there is the jigs.date format. So, at some point I ran FieldConverter to convert those earlier formats into jigs.date. I think that is where the problem was introduced. It is possible you made the change in TimeDateUtil after I did that conversion, or that I used some old code in the conversion, or that there is a bug in that code. So, the main question is not what EXIF does or what java does, but what WE do in the text files. I assume we should be following the EXIF convention, and indexing from 1 (which makes the most since, because then the dates are basically human readable). - Brendan > -B > > On Wed, 30 Jul 2003, Brendan McMahan wrote: > >Ok, I looked at some more of my pictures. Looks like the dates are > > correct on some of them, mostly the later ones. I'm guessing there are > > two problems here: > > > >1) The date on my camera is set incorrectly. I can confirm this when I > > get home. > >2) There is a bug in the code that created the jigs.date from the older > > date formats, so dates where exif is not present are off by one. > > > >But, this seems weird. I haven't actually run the code yet, but the code > > that gets the date uses: > >Date d = df.parse(date); //gets day and year > >that is, it uses a DateFormater parser to get the day and year from a > > string like "June 7, 2000". It seems unlikely that java would mess that > > up. I'll have to do some testing tomorrow. > > > >The incorrect entries appear to be 0-indexed month, and don't have exif > > date info. > > > >Here is a summary of what's wrong with my pictures (mostly for my own > >reference). > > > >Whitman is INCORRECT > >Summer 2001 is correct (seems to have exif.creationdate) > >Fall 2001 is INCORRECT > >Spring 2002 is partially incorrect, partially correct > >Summer 2002 is correct > >Fall 2002 is correct. > >Spring 2003 is correct > > > > > > > >------------------------------------------------------- > >This SF.Net email sponsored by: Free pre-built ASP.NET sites including > >Data Reports, E-commerce, Portals, and Forums are available now. > >Download today and enter to win an XBOX or Visual Studio .NET. > >http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/0 > >1 _______________________________________________ > >Jigs-devel mailing list > >Jig...@li... > >https://lists.sourceforge.net/lists/listinfo/jigs-devel |
|
From: Brent B. <br...@ma...> - 2003-07-31 13:59:05
|
Stupid pine automagically picks mcmahan@cs not the list. Anyway, I think this is a solved problem. I have looked into a bit more and it appears to do the right thing. The major problem here is that exif stores months starting from index 1 (Jan == 1, Feb ==2), whereas Java stores dates with index 0 (Jan == 0, Feb == 1). I changed the TimeDateUtil code to reflect this some time ago, but certainly not before whitman, etc, which is why there is that distiction. As for the 10d... The jurys still out on whether or not you can correctly set the date on that thing! :) -B On Wed, 30 Jul 2003, Brendan McMahan wrote: >Ok, I looked at some more of my pictures. Looks like the dates are correct on >some of them, mostly the later ones. I'm guessing there are two problems >here: > >1) The date on my camera is set incorrectly. I can confirm this when I get >home. >2) There is a bug in the code that created the jigs.date from the older date >formats, so dates where exif is not present are off by one. > >But, this seems weird. I haven't actually run the code yet, but the code that >gets the date uses: >Date d = df.parse(date); //gets day and year >that is, it uses a DateFormater parser to get the day and year from a string >like "June 7, 2000". It seems unlikely that java would mess that up. I'll >have to do some testing tomorrow. > >The incorrect entries appear to be 0-indexed month, and don't have exif date >info. > >Here is a summary of what's wrong with my pictures (mostly for my own >reference). > >Whitman is INCORRECT >Summer 2001 is correct (seems to have exif.creationdate) >Fall 2001 is INCORRECT >Spring 2002 is partially incorrect, partially correct >Summer 2002 is correct >Fall 2002 is correct. >Spring 2003 is correct > > > >------------------------------------------------------- >This SF.Net email sponsored by: Free pre-built ASP.NET sites including >Data Reports, E-commerce, Portals, and Forums are available now. >Download today and enter to win an XBOX or Visual Studio .NET. >http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 >_______________________________________________ >Jigs-devel mailing list >Jig...@li... >https://lists.sourceforge.net/lists/listinfo/jigs-devel > -- Brent Bryan br...@wh... |
|
From: H. B. M. <mc...@cs...> - 2003-07-31 13:30:18
|
I'd like to try to keep these messages on the jigs-devel list, Brent. I know pine doesn't reply to the list automatically, but it's worth doing to keep these ideas in one place and archived. Thanks. Anyway, I see now. I understood "stored in Map as" to mean "the key is". Probably referencing the actual class with a @see would be more clear, and making it clear that those constants give both the name of the field in the Map and in the text file. But mosly I just read it wrong. :) - Brendan On Thu, 31 Jul 2003, Brent Bryan wrote: > I believe they are correct. What tehy are saying is that in the output > files (*.txt) the categories are stored as a comma separated string. IN > the map (the AlbumObjectDescriptionInfo) they are stored as a CategorySet. > > -B > > > >I'm confused about the "Stored in Map as ..." part of these comments. If they > >are wrong, Brent, can you fix them? > > > > - Brendan > > > > > > /** Written to file as String (cat1,cat2,cat3, etc) Stored in Map > > as edu.whitman.halfway.jigs.CategorySet getData(JIGS_CATEGORY) will > > always return a @see CategorySet object. > > */ > > public static String JIGS_CATEGORY = "jigs.categories"; > > > > /**Written to file as a double, Stored in Map as > > edu.whitman.halfway.jigs.Rating. getData(JIGS_RATING) will always > > return a @see Rating object.*/ > > > > > >------------------------------------------------------- > >This SF.Net email sponsored by: Free pre-built ASP.NET sites including > >Data Reports, E-commerce, Portals, and Forums are available now. > >Download today and enter to win an XBOX or Visual Studio .NET. > >http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > >_______________________________________________ > >Jigs-devel mailing list > >Jig...@li... > >https://lists.sourceforge.net/lists/listinfo/jigs-devel > > > > -- > Brent Bryan > br...@wh... > > > |
|
From: Brendan M. <mcm...@ux...> - 2003-07-31 03:33:32
|
Ok, I looked at some more of my pictures. Looks like the dates are correct on some of them, mostly the later ones. I'm guessing there are two problems here: 1) The date on my camera is set incorrectly. I can confirm this when I get home. 2) There is a bug in the code that created the jigs.date from the older date formats, so dates where exif is not present are off by one. But, this seems weird. I haven't actually run the code yet, but the code that gets the date uses: Date d = df.parse(date); //gets day and year that is, it uses a DateFormater parser to get the day and year from a string like "June 7, 2000". It seems unlikely that java would mess that up. I'll have to do some testing tomorrow. The incorrect entries appear to be 0-indexed month, and don't have exif date info. Here is a summary of what's wrong with my pictures (mostly for my own reference). Whitman is INCORRECT Summer 2001 is correct (seems to have exif.creationdate) Fall 2001 is INCORRECT Spring 2002 is partially incorrect, partially correct Summer 2002 is correct Fall 2002 is correct. Spring 2003 is correct |
|
From: Brendan M. <mcm...@ux...> - 2003-07-31 03:26:54
|
Hey Brent, There is an off-by-one error somewhere in the Jigs date code, or perhaps the cameras aren't being consistent about how they store the dates (that would be bad). But all of my months seem to be off-by-one, not just the 10d dates. I've confirmed this with happy-click dates from last year, and also all the way back to the original HappyClick pictures from the whitman CD. All of them seem to report dates one month earlier than appropriate. If you update your code, I've implemented recursive album date range calculation in render util. I've also augmented AlbumList so it takes a -y option to display dates. I've attached some suspicious output of that new program. That's how I discovered this problem. Anyway, we should get this worked out as soon as possible. I'm getting tired, and we need to make sure the problem is consistent, and not just with my data. - Brendan |
|
From: Brendan M. <mcm...@ux...> - 2003-07-31 02:34:50
|
I'm confused about the "Stored in Map as ..." part of these comments. If they
are wrong, Brent, can you fix them?
- Brendan
/** Written to file as String (cat1,cat2,cat3, etc) Stored in Map
as edu.whitman.halfway.jigs.CategorySet getData(JIGS_CATEGORY) will
always return a @see CategorySet object.
*/
public static String JIGS_CATEGORY = "jigs.categories";
/**Written to file as a double, Stored in Map as
edu.whitman.halfway.jigs.Rating. getData(JIGS_RATING) will always
return a @see Rating object.*/
|
|
From: H. B. M. <mc...@cs...> - 2003-07-22 13:50:21
|
> Now, after I've done that it has problems with DesqueTableCellRenderer as it > reffers to AlbumDataModel class, which doesn't exist and Album class, which > isn't imported. Brent and I were making a bunch of minor changes yesterday, and some files got added prematurely. If you do a cvs update now everything should compile. Keep the questions coming, we're working on getting things cleaned up and packaged so we can put out a release in the near future, so any comments and suggestions are appreciated. Have fun. - Brendan > > ----- Original Message ----- > > > Michal, > > > > You probably need to compile that file seperately before running ant. Try > > compiling JigsManifestTask by hand, i.e., java -source 1.4 > > JigsManifestTask.java, and then running ant. If that isn't the problem, > send > > another email. > > > > - Brendan > > > > On Monday 21 July 2003 01:44 pm, Michal Sankot wrote: > > > Heya, > > > I just CVSed JIGS from sourceforge and when I try to run Ant I get: > > > > > > ------------------------------------------------------------------------ > > > Buildfile: build.xml > > > BUILD FAILED > > > file:E:/jigs/jigs/build.xml:18: taskdef class JigsManifestTask cannot be > > > found > > > ------------------------------------------------------------------------ > > > > > > JigsManifestTask.java is sitting in the same dir (/jigs) where I run > Ant. > > > > > > What's wrong with it ? > > > Michal > > > > > > OS: W2000 > > > Ant: 1.5.1 > > > |
|
From: Brendan M. <mcm...@ux...> - 2003-07-21 20:46:59
|
Michal, You probably need to compile that file seperately before running ant. Try compiling JigsManifestTask by hand, i.e., java -source 1.4 JigsManifestTask.java, and then running ant. If that isn't the problem, send another email. - Brendan On Monday 21 July 2003 01:44 pm, Michal Sankot wrote: > Heya, > I just CVSed JIGS from sourceforge and when I try to run Ant I get: > > ------------------------------------------------------------------------ > Buildfile: build.xml > BUILD FAILED > file:E:/jigs/jigs/build.xml:18: taskdef class JigsManifestTask cannot be > found > ------------------------------------------------------------------------ > > JigsManifestTask.java is sitting in the same dir (/jigs) where I run Ant. > > What's wrong with it ? > Michal > > OS: W2000 > Ant: 1.5.1 > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: VM Ware > With VMware you can run multiple operating systems on a single machine. > WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the > same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 > _______________________________________________ > Jigs-devel mailing list > Jig...@li... > https://lists.sourceforge.net/lists/listinfo/jigs-devel |
|
From: Michal S. <sa...@se...> - 2003-07-21 17:46:28
|
Heya, I just CVSed JIGS from sourceforge and when I try to run Ant I get: ------------------------------------------------------------------------ Buildfile: build.xml BUILD FAILED file:E:/jigs/jigs/build.xml:18: taskdef class JigsManifestTask cannot be found ------------------------------------------------------------------------ JigsManifestTask.java is sitting in the same dir (/jigs) where I run Ant. What's wrong with it ? Michal OS: W2000 Ant: 1.5.1 |
|
From: H. B. M. <mc...@cs...> - 2003-07-08 19:15:00
|
If you look at the error I'm getting, it is trying to create the
directory. It also is trying to flush system preferences, but the error
it is getting there is probably just caused by the directory not existing.
I haven't looked at the code to be sure. Does teh directory in /etc exist
on your system?
- Brendan
PS also, lets try to keep these messages on the list.
On Tue, 8 Jul 2003, Brent Bryan wrote:
> On Tue, 8 Jul 2003, Brendan McMahan wrote:
>
> >>From FileSystemPreferences.java I see:
> >
> > static {
> > // Temp fix until installation script issues get resolved
> > String systemPrefsDirName = (String)
> > AccessController.doPrivileged( new PrivilegedAction() {
> > public Object run() {
> > return System.getProperty
> > ("java.util.prefs.systemRoot","/etc/.java");
> > }
> > });
> >
> > systemRootDir =
> > new File(systemPrefsDirName, ".systemPrefs");
> > }
>
> >
> >so it looks like the system preferences now live by defaul in /etc/.java ...
> >which of course I don't have write access to as a normal user. One option
> >would be to set the sytemRoot proprety to a different default.
> >
> >Brent, can you see if this code is in the JDK you are using, and if it is, can
> >you see if your "java.util.prefs.systemRoot" property is set? Thanks.
>
> It is actually the same for me. However, you shouldn't need write access,
> just read access.
>
> -Brent
>
> PS. java.util.prefs.systemRoot for me is "null".
>
>
|
|
From: Brendan M. <mcm...@ux...> - 2003-07-08 18:23:00
|
=46rom FileSystemPreferences.java I see:
static {
// Temp fix until installation script issues get resolved
String systemPrefsDirName =3D (String)
AccessController.doPrivileged( new PrivilegedAction() {
public Object run() {
return System.getProperty
("java.util.prefs.systemRoot","/etc/.java");
}
});
=20
systemRootDir =3D=20
new File(systemPrefsDirName, ".systemPrefs");
}
so it looks like the system preferences now live by defaul in /etc/.java ..=
=2E=20
which of course I don't have write access to as a normal user. One option=
=20
would be to set the sytemRoot proprety to a different default.
Brent, can you see if this code is in the JDK you are using, and if it is, =
can=20
you see if your "java.util.prefs.systemRoot" property is set? Thanks.
- Brendan
|
|
From: H. B. M. <mc...@cs...> - 2003-07-08 13:46:38
|
Right, I'm pretty sure it's from the JVM. But people shouldn't have to do any local configuration for prefs to work, right? Or, if there is configuration that needs to be done, then it should go in the documentation. How's that coming? I checked the .java dir on my machine, and all the permissions appear correct. Note that it appears to be talking about "system" preferences ... would it try to right somewhere other than my home directory? I am using Sun java 1.4.1_02 - Brendan On Tue, 8 Jul 2003, Brent Bryan wrote: > As far as I can tell, these messages are being issued by the java runtime > environment, and not from any of our code. Just guessing, it seems like > the permission on your ".java" folder might be set so that the jre can't > read or write the file it needs > (~/.java/.userPrefs/edu/whitman/halfway/jigs/prefs.xml). > > I haven't made any changes to teh prefs code lately, and I have tested it > on a couple of machines, so I am inclined to believe the error is due to > local configuration rather than code. > > -Brent > > > > > On Mon, 7 Jul 2003, Brendan McMahan wrote: > > >I'm getting a bunch of preference system (I think) errors. Any ideas brent? > > > > - Brendan > > > >WARNING: Could not create system preferences directory. System preferences are > >unusable. > >Configuring with /usr0/mcmahan/jigs/user/jigs_default_log4j_config.lcf > >rootSourceFile = /usr0/mcmahan/pics/root_image_source > >Jul 7, 2003 5:33:26 PM java.util.prefs.FileSystemPreferences > >checkLockFile0ErrorCode > >WARNING: Could not lock System prefs.Unix error code 1509517432. > >Jul 7, 2003 5:33:26 PM java.util.prefs.FileSystemPreferences syncWorld > >WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: > >Couldn't get file lock. > > > > > > > >------------------------------------------------------- > >This SF.Net email sponsored by: Free pre-built ASP.NET sites including > >Data Reports, E-commerce, Portals, and Forums are available now. > >Download today and enter to win an XBOX or Visual Studio .NET. > >http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 > >_______________________________________________ > >Jigs-devel mailing list > >Jig...@li... > >https://lists.sourceforge.net/lists/listinfo/jigs-devel > > > > -- > Brent Bryan > br...@wh... > > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 > _______________________________________________ > Jigs-devel mailing list > Jig...@li... > https://lists.sourceforge.net/lists/listinfo/jigs-devel > |
|
From: Brent B. <br...@ma...> - 2003-07-08 13:16:59
|
As far as I can tell, these messages are being issued by the java runtime environment, and not from any of our code. Just guessing, it seems like the permission on your ".java" folder might be set so that the jre can't read or write the file it needs (~/.java/.userPrefs/edu/whitman/halfway/jigs/prefs.xml). I haven't made any changes to teh prefs code lately, and I have tested it on a couple of machines, so I am inclined to believe the error is due to local configuration rather than code. -Brent On Mon, 7 Jul 2003, Brendan McMahan wrote: >I'm getting a bunch of preference system (I think) errors. Any ideas brent? > > - Brendan > >WARNING: Could not create system preferences directory. System preferences are >unusable. >Configuring with /usr0/mcmahan/jigs/user/jigs_default_log4j_config.lcf >rootSourceFile = /usr0/mcmahan/pics/root_image_source >Jul 7, 2003 5:33:26 PM java.util.prefs.FileSystemPreferences >checkLockFile0ErrorCode >WARNING: Could not lock System prefs.Unix error code 1509517432. >Jul 7, 2003 5:33:26 PM java.util.prefs.FileSystemPreferences syncWorld >WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: >Couldn't get file lock. > > > >------------------------------------------------------- >This SF.Net email sponsored by: Free pre-built ASP.NET sites including >Data Reports, E-commerce, Portals, and Forums are available now. >Download today and enter to win an XBOX or Visual Studio .NET. >http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 >_______________________________________________ >Jigs-devel mailing list >Jig...@li... >https://lists.sourceforge.net/lists/listinfo/jigs-devel > -- Brent Bryan br...@wh... |
|
From: Brendan M. <mcm...@ux...> - 2003-07-07 21:35:16
|
I'm getting a bunch of preference system (I think) errors. Any ideas brent? - Brendan WARNING: Could not create system preferences directory. System preferences are unusable. Configuring with /usr0/mcmahan/jigs/user/jigs_default_log4j_config.lcf rootSourceFile = /usr0/mcmahan/pics/root_image_source Jul 7, 2003 5:33:26 PM java.util.prefs.FileSystemPreferences checkLockFile0ErrorCode WARNING: Could not lock System prefs.Unix error code 1509517432. Jul 7, 2003 5:33:26 PM java.util.prefs.FileSystemPreferences syncWorld WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock. |
|
From: Michal S. <sa...@se...> - 2003-06-18 09:32:12
|
Heya,
just got your JIGS (v0.9) of the web and when trying to generate webpages of
my pictures, it freezes.
It gets through first two stages - info+pics, but freezes on the last one -
webpage.
I guess the importnat piece of debug would be this:
-----------------------------------------------------
590159 [Thread-10] DEBUG edu.whitman.util.FileUtil pokus-jpg> -
makeRealtivePath
abs crntDir=E:\Pictures\naWeb\Dingle\web
abs target=E:\Pictures\naWeb\Dingle\web\web_0.html
590159 [Thread-10] DEBUG edu.whitman.util.FileUtil pokus-jpg> - Splitting
E:\Pic
tures\naWeb\Dingle\web
org.apache.oro.text.MalformedCachePatternException: Invalid expression: \
Trailing \ in expression.
at
org.apache.oro.text.GenericPatternCache.getPattern(GenericPatternCach
e.java:198)
at
org.apache.oro.text.perl.Perl5Util.__parseMatchExpression(Perl5Util.j
ava:310)
at org.apache.oro.text.perl.Perl5Util.split(Perl5Util.java:760)
at org.apache.oro.text.perl.Perl5Util.split(Perl5Util.java:797)
at edu.whitman.util.FileUtil.splitFile(FileUtil.java:312)
at edu.whitman.util.FileUtil.splitFile(FileUtil.java:329)
at edu.whitman.util.FileUtil.makeRelativePath(FileUtil.java:221)
at edu.whitman.jigs.HREFLink.getRelativePath(HREFLink.java:18)
at
edu.whitman.JTL.JTLKeyRenderer.renderPicture(JTLKeyRenderer.java:240)
at edu.whitman.JTL.JTLKeyRenderer.renderKey(JTLKeyRenderer.java:69)
at edu.whitman.JTL.JigsTag.renderTag(JigsTag.java:316)
at
edu.whitman.JTL.TemplateParser.renderPage(TemplateParser.java:195)
at edu.whitman.JTL.JTLRenderer.renderPage(JTLRenderer.java:74)
at
edu.whitman.jigs.BasicOutputAlbum.render(BasicOutputAlbum.java:98)
at
edu.whitman.jigs.PageCreator.DriverThread.renderAlbum(DriverThread.ja
va:157)
-----------------------------------------------------
What's the problem there ? Is it a programmatic error ? Can it be
quick-and-dirty fixed by changing the path where I have my pictures ?
Cheers
Michal
|
|
From: Michal S. <sa...@se...> - 2003-06-18 09:18:51
|
Heya,
just got your JIGS (v0.9) of the web and when trying to generate webpages of
my pictures, it freezes.
It gets through first two stages - info+pics, but freezes on the last one -
webpage.
I guess the importnat piece of debug would be this:
-----------------------------------------------------
590159 [Thread-10] DEBUG edu.whitman.util.FileUtil pokus-jpg> -
makeRealtivePath
abs crntDir=E:\Pictures\naWeb\Dingle\web
abs target=E:\Pictures\naWeb\Dingle\web\web_0.html
590159 [Thread-10] DEBUG edu.whitman.util.FileUtil pokus-jpg> - Splitting
E:\Pic
tures\naWeb\Dingle\web
org.apache.oro.text.MalformedCachePatternException: Invalid expression: \
Trailing \ in expression.
at
org.apache.oro.text.GenericPatternCache.getPattern(GenericPatternCach
e.java:198)
at
org.apache.oro.text.perl.Perl5Util.__parseMatchExpression(Perl5Util.j
ava:310)
at org.apache.oro.text.perl.Perl5Util.split(Perl5Util.java:760)
at org.apache.oro.text.perl.Perl5Util.split(Perl5Util.java:797)
at edu.whitman.util.FileUtil.splitFile(FileUtil.java:312)
at edu.whitman.util.FileUtil.splitFile(FileUtil.java:329)
at edu.whitman.util.FileUtil.makeRelativePath(FileUtil.java:221)
at edu.whitman.jigs.HREFLink.getRelativePath(HREFLink.java:18)
at
edu.whitman.JTL.JTLKeyRenderer.renderPicture(JTLKeyRenderer.java:240)
at edu.whitman.JTL.JTLKeyRenderer.renderKey(JTLKeyRenderer.java:69)
at edu.whitman.JTL.JigsTag.renderTag(JigsTag.java:316)
at
edu.whitman.JTL.TemplateParser.renderPage(TemplateParser.java:195)
at edu.whitman.JTL.JTLRenderer.renderPage(JTLRenderer.java:74)
at
edu.whitman.jigs.BasicOutputAlbum.render(BasicOutputAlbum.java:98)
at
edu.whitman.jigs.PageCreator.DriverThread.renderAlbum(DriverThread.ja
va:157)
-----------------------------------------------------
What's the problem there ? Is it a programmatic error ? Can it be
quick-and-dirty fixed by changing the path where I have my pictures ?
Cheers
Michal
|
|
From: Brendan M. <mcm...@ux...> - 2003-05-07 01:16:37
|
Looks like the problems with processing non sRGB images is alive and well. Note the factor of 3 slowdown for processing the last image (all three images are about the same size). But even the fast times (about 5 minutes) are pretty dang slow. I think ImageMagick may still be the preferred solution if it is available. Most people probably don't have images this big. Still, I'd like to try forcing it to use sRGB (at least as an option) in the other case. - Brendan Processing /usr3/mcmahan_store/pics/060_cmu/040_Spring_2003/060_Utah_Spring_Break/020_Climbing_in_Snow_Canyon/Elan_Roll_011_velvia_007.png 219282 INFO [Thread-4] ImageIOUtil - Using ImageIO to convert /usr3/mcmahan_store/pics/060_cmu/040_Spring_2003/060_Utah_Spring_Break/020_Climbing_in_Snow_Canyon/Elan_Roll_011_velvia_007.png to size java.awt.Dimension[width=1549,height=3000] 219283 INFO [Thread-4] ImageIOUtil - isCS_sRGB()=true 537465 INFO [Thread-4] ImageUtil - Scale and draw time is 318.181s Processing /usr3/mcmahan_store/pics/060_cmu/040_Spring_2003/060_Utah_Spring_Break/040_Peekabo_and_Spooky_Canyons/Elan_Roll_012_velvia_023.png 608214 INFO [Thread-4] ImageIOUtil - Using ImageIO to convert /usr3/mcmahan_store/pics/060_cmu/040_Spring_2003/060_Utah_Spring_Break/040_Peekabo_and_Spooky_Canyons/Elan_Roll_012_velvia_023.png to size java.awt.Dimension[width=1946,height=3000] 608215 INFO [Thread-4] ImageIOUtil - isCS_sRGB()=true 1012985 INFO [Thread-4] ImageUtil - Scale and draw time is 404.769s Processing /usr3/mcmahan_store/pics/060_cmu/040_Spring_2003/060_Utah_Spring_Break/050_Brimstone_Canyon/brendan_pentax_1_04.jpg 1044519 INFO [Thread-4] ImageIOUtil - Using ImageIO to convert /usr3/mcmahan_store/pics/060_cmu/040_Spring_2003/060_Utah_Spring_Break/050_Brimstone_Canyon/brendan_pentax_1_04.jpg to size java.awt.Dimension[width=1916,height=3000] 1044521 INFO [Thread-4] ImageIOUtil - isCS_sRGB()=false 2337548 INFO [Thread-4] ImageUtil - Scale and draw time is 1293.027s |
|
From: Brendan M. <mcm...@ux...> - 2003-04-18 22:43:44
|
The same Bug mentioned in the previous message was also in BasicAlbum. It has also been fixed. - Brendan |
|
From: Brendan M. <mcm...@ux...> - 2003-04-18 22:42:13
|
There was a bug in AlbumWithIncludes:
String sortType = (String)JigsPrefs.get("album_sort_type");
if (sortType.trim().equalsIgnoreCase("date")) {
Collections.sort(pics, getJigsDateSorter());
} else {
Collections.sort(pics);
}
throws an Exception, because sortType is null by default.
This bug was fixed by adding a check to see if sortType != null.
- Brendan
|