From sanselan-dev-return-129-apmail-incubator-sanselan-dev-archive=incubator.apache.org@incubator.apache.org Sun Feb 10 16:46:47 2008 Return-Path: Delivered-To: apmail-incubator-sanselan-dev-archive@locus.apache.org Received: (qmail 16877 invoked from network); 10 Feb 2008 16:46:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 10 Feb 2008 16:46:47 -0000 Received: (qmail 83362 invoked by uid 500); 10 Feb 2008 16:46:40 -0000 Delivered-To: apmail-incubator-sanselan-dev-archive@incubator.apache.org Received: (qmail 83347 invoked by uid 500); 10 Feb 2008 16:46:40 -0000 Mailing-List: contact sanselan-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: sanselan-dev@incubator.apache.org Delivered-To: mailing list sanselan-dev@incubator.apache.org Received: (qmail 83338 invoked by uid 99); 10 Feb 2008 16:46:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 10 Feb 2008 08:46:40 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of charlesmchen@gmail.com designates 64.233.182.186 as permitted sender) Received: from [64.233.182.186] (HELO nf-out-0910.google.com) (64.233.182.186) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 10 Feb 2008 16:46:07 +0000 Received: by nf-out-0910.google.com with SMTP id k4so1153190nfd.40 for ; Sun, 10 Feb 2008 08:46:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=vaYj+P4rt9cfRXa7DJYqTT9lmrV5x1b4EWthD5xIh/E=; b=kSqomSRC0O0y+W7j6Zzsi2WDkvKBZKRxfWCpbtMN5E2ialEru4MDFUpi+xiunvlumMawwE9FKCr6o8Gd8aDBDU4Hq4RF0x2auapNa/NmDtPSvnfJsGCATPqFqkj1N+Vu4urzu8e8oBt+PKk5IOH10NJRI/Ufpd3+xuanoesLE6g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=v4R1EpYh9JSDIFp+5G0g5JSJJwx0n5RlOgkt1lX+qH0hwRlfdKAHYoZXrElqH6sJgUrRM2w6gT9KxLDcWsOjwd2QAOzDYuCp7mc8i/YtycoKxBKPFO9gnMK9jCnJwHt0nqCKF9rgOlu9CwqPH0ocd+oWYhJEhDuOtQx8GXQ/wi8= Received: by 10.78.200.20 with SMTP id x20mr27099806huf.16.1202661972859; Sun, 10 Feb 2008 08:46:12 -0800 (PST) Received: by 10.78.151.9 with HTTP; Sun, 10 Feb 2008 08:46:12 -0800 (PST) Message-ID: Date: Sun, 10 Feb 2008 11:46:12 -0500 From: "Charles Matthew Chen" To: "Enric Rodriguez Royo" Subject: Re: A wish to add to sanselan's wish list ;) Cc: sanselan-dev@incubator.apache.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: X-Virus-Checked: Checked by ClamAV on apache.org Hi Enric, Thanks for your questions. I (like many people) am not a fan of java's built-in serialization mechanism (ie. java.ui.Serializable, etc.). For one thing, it is (to the best of my knowledge) incompatible with final fields. I use they often to enforce the immutability of classes. Even worse, it violates the design principle of "Separation of concerns," by requiring serialization logic to be intermingled with model logic. http://en.wikipedia.org/wiki/Separation_of_concerns There are many Java serialization alternatives (often using xml). Try this search: http://www.google.com/search?source=ig&hl=en&rlz=&q=java+serialization+xml&btnG=Google+Search Sanselan's data structures are pretty straight-forward; you should be able to easily serialize them using any of these libraries. About the Unknown EXIF tag: EXIF is an open-ended standard and there are many "custom" or proprietary tags that aren't documented, much less widely adopted. If you find documentation on this tag, I'd love to see it. http://www.google.com/search?source=ig&hl=en&rlz=&q=ea1c+exif&btnG=Google+Search http://www.google.com/search?q=59932+exif&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a I use Phil Harvey's archive as my de-facto EXIF standard. http://www.sno.phy.queensu.ca/~phil/exiftool/ Charles. ps. I've cc'd the sanselan-dev mailing list. On Feb 9, 2008 10:52 AM, Enric Rodriguez Royo wrote: > Hi, I'm a student at Pompeu Fabra's University, (spain, europe) > (www.upf.edu) and we are developing a peer to peer application for sharing > images. > This is not a professional development, but we are doing this because is > part of the project based learning approach our university has taken. > > We are going to use JAI for image modification, but I was looking for a way > to read image metadata using java and I found Sanselan which, in my > oppinion, works fine for our project. > > The idea is to read the metadata and send all the metadata items to the > server, then the server will handle with the metadata for example, to decide > which fields wants to save to the database, whatever... > > But I found that IImageMetadataItem and IImageMetadata does not extend > Serializable interface. It would be interesting if they do because It would > be very easy to send them over the network. For now, I'm reading the item > list and copying the content to our serializable object structure. > > Another thing I found when using the example for reading metada, is that > when modifying the metadata using windows vista system, some values are > written using UTF-16, and there is one unknown tag that appears after > XPTitle, XPComment, XPAuthor, XPSubject... > > item: Unknown Tag (0xea1c): 28, -22, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0 > > Thanks for your attention. >