Return-Path: Delivered-To: apmail-db-jdo-dev-archive@www.apache.org Received: (qmail 79536 invoked from network); 8 Feb 2006 20:05:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 Feb 2006 20:05:20 -0000 Received: (qmail 44808 invoked by uid 500); 8 Feb 2006 20:05:19 -0000 Mailing-List: contact jdo-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jdo-dev@db.apache.org Delivered-To: mailing list jdo-dev@db.apache.org Received: (qmail 44797 invoked by uid 99); 8 Feb 2006 20:05:19 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2006 12:05:19 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.98.36] (HELO brmea-mail-4.sun.com) (192.18.98.36) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Feb 2006 12:05:18 -0800 Received: from fe-amer-03.sun.com ([192.18.108.177]) by brmea-mail-4.sun.com (8.12.10/8.12.9) with ESMTP id k18K4vuf029638 for ; Wed, 8 Feb 2006 13:04:57 -0700 (MST) Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) id <0IUD00001WW9NY00@mail-amer.sun.com> (original mail from Craig.Russell@Sun.COM) for jdo-dev@db.apache.org; Wed, 08 Feb 2006 13:04:57 -0700 (MST) Received: from [129.145.133.119] by mail-amer.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPSA id <0IUD00BPDX48TY60@mail-amer.sun.com> for jdo-dev@db.apache.org; Wed, 08 Feb 2006 13:04:57 -0700 (MST) Date: Wed, 08 Feb 2006 12:04:54 -0800 From: Craig L Russell Subject: Re: Issue 138: Names of optional features In-reply-to: <20060202124726.9F92E10FB00C@asf.osuosl.org> Sender: Craig.Russell@Sun.COM To: Apache JDO project , JDO Expert Group Message-id: MIME-version: 1.0 X-Mailer: Apple Mail (2.746.2) Content-type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-318-60622062; micalg=sha1 References: <20060202124726.9F92E10FB00C@asf.osuosl.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N --Apple-Mail-318-60622062 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi Andy, On Feb 2, 2006, at 4:46 AM, Andy Jefferson wrote: > Hi Craig, > >> Heterogeneous collections with new-class mapping of subclasses >> javax.jdo.option.mapping.JoinedTablePerClass (this is tck schema1) >> javax.jdo.option.mapping.JoinedTablePerConcreteClass (this is tck >> schema3) >> javax.jdo.option.mapping.NonJoinedTablePerConcreteClass (this is >> tck schema2) > > These names mean nothing to me. I would personally prefer something > using the > inheritance-strategy names. e.g > javax.jdo.option.mapping.RelationNewTable > javax.jdo.option.mapping.RelationSubclassTable > javax.jdo.option.mapping.RelationSuperclassTable > (I think that's what these 3 inheritance schema TCK tests were for) > > Just wondered whether it's only me who hasn't a clue what a > "NonJoinedTablePerConcreteClass" means :-) The problem with your approach is that your descriptions don't match the semantics of the restrictions. The subclass-table metadata attribute is used for cases of joined and non-joined tables, and the restrictions are most likely on non-joined tables. Specifically, if you have a concrete Person, abstract Employee, and concrete FullTimeEmployee, you can map Employee fields to subclasses and map to PERSON and FULLTIMEEMPLOYEE that either have a join relationship or non-join relationship. I believe that JPOX supports subclass-table but not NonJoinedTablePerConcreteClass. The names in the optional features list would be fully described in Chapter 11 but I was looking for a shorthand description. I looked in the JSR 220 spec and they use SINGLE_TABLE, JOINED, and TABLE_PER_CLASS as their enum descriptions. Their JOINED actually encompasses my JoinedTablePerClass and JoinedTablePerConcreteClass which I think are actually two different cases. > > >> Mapping fields of Object type and interface types >> javax.jdo.option.mapping.HeterogeneousObjectType (no tck tests yet) >> javax.jdo.option.mapping.HeterogeneousInterfaceType (no tck tests >> yet) > > What do these mean exactly ? > Support for a field of type java.lang.Object with > multiple possible PC types that > can be stored in that field ? Yes. This is not portable so it's not clear that it is possible to have a TCK test for it. > Support for a field of type interface with multiple possible PC > implementations > that can be stored in that field ? Yes. > No problem with the names, as long as we have a definition. The idea is that there would be a paragraph in the specification in Chapter 11 that describes the behavior that is implied by implementing each feature. My next revision of this issue will include the Chapter 11 description... Craig > > > -- > Andy > Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:Craig.Russell@sun.com P.S. A good JDO? O, Gasp! --Apple-Mail-318-60622062 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICEB7Y7fLHmKoeHTUdbtYrvpAwDQYJKoZIhvcNAQEEBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA1MTIxNTIxNDc0NFoXDTA2MTIxNTIxNDc0 NFowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMXXgEAm88nu8cFbxXSWqTq+GaYpCx/0QSom 8kBbVxpJIURuO4ErLDupeXu6y9+5e7ZKLbeSQE5xbfYPcQR/IhqmYKy5YqRcuzPXREBj2zKEkZph pNXWpHgMdx9W8dq0Cu2i9Ux/S6c2MuEHrP6gfGGll+b/mzLoO280QHTuE4pcpKntRnwZdGxQ/5l8 IL+eLP+jpJAbYW9C+KNKofZtS6V6R0uzlqTOsEdZvwxZQ4mmPgHoz1+Gjwme/PC5sKvF09MaJDiI pj9SvZ4CTCgcDZV78J086YwlVbMC0VQotjhu1p42lr8CS33IXLz3OWNrDETCAepah/Dgw2ZZApQ9 9L0CAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEEBQADgYEAKdIkgAWCg2Bi7ocnstfJA4iymTRI2/L4oQx9zvllM9bNJ2cR cecJIx3HuoHbhPvemh1GExEPgHU+dXSxDmD0BEmPnhSReKCURyslnbMphPZ5kR6USzQFrRa+v0ii J+SBO9VQYTQWT+xEjmRLM76MfkBFw3IOC9CUkRoYZ88pOoUwggM/MIICqKADAgECAgENMA0GCSqG SIb3DQEBBQUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQH EwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZp Y2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29uYWwgRnJlZW1h aWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0ZS5jb20wHhcNMDMw NzE3MDAwMDAwWhcNMTMwNzE2MjM1OTU5WjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3Rl IENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWls IElzc3VpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMSmPFVzVftOucqZWh5owHUE cJ3f6f+jHuy9zfVb8hp2vX8MOmHyv1HOAdTlUAow1wJjWiyJFXCO3cnwK4Vaqj9xVsuvPAsH5/Ef kTYkKhPPK9Xzgnc9A74r/rsYPge/QIACZNenprufZdHFKlSFD0gEf6e20TxhBEAeZBlyYLf7AgMB AAGjgZQwgZEwEgYDVR0TAQH/BAgwBgEB/wIBADBDBgNVHR8EPDA6MDigNqA0hjJodHRwOi8vY3Js LnRoYXd0ZS5jb20vVGhhd3RlUGVyc29uYWxGcmVlbWFpbENBLmNybDALBgNVHQ8EBAMCAQYwKQYD VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVByaXZhdGVMYWJlbDItMTM4MA0GCSqGSIb3DQEBBQUAA4GB AEiM0VCD6gsuzA2jZqxnD3+vrL7CF6FDlpSdf0whuPg2H6otnzYvwPQcUCCTcDz9reFhYsPZOhl+ hLGZGwDFGguCdJ4lUJRix9sncVcljd2pnDmOjCBPZV+V2vf3h9bGCE6u9uo05RAaWzVNd+NWIXiC 3CEZNd4ksdMdRv9dX2VPMYIDEDCCAwwCAQEwdjBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0ECEB7Y7fLHmKoeHTUdbtYrvpAwCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDYwMjA4MjAwNDU1WjAjBgkqhkiG9w0B CQQxFgQUysWzmV+yk9AOlF+gzz0jc+V6xhMwgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAe2O3yx5iqHh01HW7WK76QMIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAe 2O3yx5iqHh01HW7WK76QMA0GCSqGSIb3DQEBAQUABIIBADANkcAXHWEF1vYM7ZMqiIDzg0hV8ei2 2KajLZ39t0yV0zuBhnRRm4mZ6YQi9eLE0TBk8q/t61dEz0z2hBhkRR4N+gsMGu6JtUoWzIUjD83L MUz9xFwj+TS3ru7P7UbpHctiaJfIOKBAgXH8BaRzbJ6BubdGPBcbmLYcV4nJx4NDo16ynRghDWym GUHMXei/yfktJKxSHl7iZHECVTtimEcZx4WaW6M+JfzxyKWSvLEWlh2Kvr+tqD/NeTTc60IQmb8z w2JwAf7+4/7NRv7/xTtc6Mjn6drfMB3lDjnDD/pdAC4wOiSCmb3/+GaqjiC8aXzaGB7Mwvqe42Pi 5mOHf0wAAAAAAAA= --Apple-Mail-318-60622062--