Return-Path: Delivered-To: apmail-db-jdo-dev-archive@www.apache.org Received: (qmail 44992 invoked from network); 3 Oct 2007 19:20:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Oct 2007 19:20:12 -0000 Received: (qmail 87865 invoked by uid 500); 3 Oct 2007 19:20:01 -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 87828 invoked by uid 99); 3 Oct 2007 19:20:01 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Oct 2007 12:20:01 -0700 X-ASF-Spam-Status: No, hits=-1.0 required=10.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [192.18.43.133] (HELO sca-es-mail-2.sun.com) (192.18.43.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Oct 2007 19:20:01 +0000 Received: from fe-sfbay-09.sun.com ([192.18.43.129]) by sca-es-mail-2.sun.com (8.13.7+Sun/8.12.9) with ESMTP id l93JJVqC018152 for ; Wed, 3 Oct 2007 12:19:31 -0700 (PDT) Received: from conversion-daemon.fe-sfbay-09.sun.com by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) id <0JPC00301M4WGY00@fe-sfbay-09.sun.com> (original mail from Craig.Russell@Sun.COM) for jdo-dev@db.apache.org; Wed, 03 Oct 2007 12:19:31 -0700 (PDT) Received: from [129.145.133.202] by fe-sfbay-09.sun.com (Sun Java System Messaging Server 6.2-8.04 (built Feb 28 2007)) with ESMTPSA id <0JPC00ETTOCF2240@fe-sfbay-09.sun.com> for jdo-dev@db.apache.org; Wed, 03 Oct 2007 12:19:27 -0700 (PDT) Date: Wed, 03 Oct 2007 12:19:12 -0700 From: Craig L Russell Subject: Re: JDO 2.1 specification draft can be reviewed... In-reply-to: <67418F39-D555-4133-AF04-844CC313095E@gmail.com> Sender: Craig.Russell@Sun.COM To: jdo-dev@db.apache.org Cc: JDO Expert Group Message-id: MIME-version: 1.0 X-Mailer: Apple Mail (2.752.3) Content-type: multipart/signed; protocol="application/pkcs7-signature"; boundary=Apple-Mail-162-531071359; micalg=sha1 References: <1186267189.15813.ezmlm@db.apache.org> <5A961472-2F78-4123-8631-F9E36B792D2B@gmail.com> <67418F39-D555-4133-AF04-844CC313095E@gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-162-531071359 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed I've opened https://issues.apache.org/jira/browse/JDO-538 for this issue. Thanks, Craig On Aug 4, 2007, at 8:00 PM, cbeams wrote: > Craig, all > > Several suggestions relating to evolving the API in support of > Java5 features: > > > 11.6, "Optional Feature Support": > > The current draft specifies the signature > > Collection supportedOptions(); > > then continues to read > > "This method returns a Collection of String [...]" > > This suggests that the signature should be > > Collection supportedOptions(); > > > > 14.6.1, "Query Execution" > > I suggest we eliminate > > Object execute(Object p1); > Object execute(Object p1, Object p2); > Object execute(Object p1, Object p2, Object p3); > > and deprecate > > Object executeWithArray(Object[] parameters); > > in favor of a newly added > > Object execute(Object... parameters); > > This new method would seamlessly support any existing calls to the > three eliminated methods, and is a proper replacement for > executeWithArray(). > > This would would leave us with three (non-deprecated) execution > methods off the Query interface: > > Object execute(); > Object execute(Object... parameters); > Object executeWithMap(Map parameters); > > > > A slightly more radical approach to this evolution would have us > also eliminate > > Object execute(); > > because the new varargs method can by definition support calls > without arguments, > > and deprecate > > Object executeWithMap(Map params); > > in favor of a new > > Object execute(Map params); > > because Java can disambiguate between calls to execute(Object... > params) and execute(Map params) just fine. This is predecated by > the assumption that it would never be valid to pass a Map instance > as a first-class query parameter. That might be a faulty > assumption, it might also just be confusing. > > If all these changes were made, we'd be left with an execution API > consisting of just two methods: > > Object execute(Object... params); > Object execute(Map params); > > > This is, I believe, technically favorable and cleaner, but > technical considerations are not the only valid ones. Leaving the > no-arg execute() might be friendly to folks that don't understand > varargs, etc. > > > > 14.8, "Deletion by Query": > > The rationale used above for paring down Query's execute methods > could also be applied to Query's deletePersistentAll methods. It > would be legal and Java5-ish to eliminate the no-arg > deletePersistentAll method and reduce the API down to: > > long deletePersistentAll(Object... params); > long deletePersistentAll(Map params); > > ... > > There's a number of other places in the spec changes like the ones > mentioned here could be made, but I might be getting ahead of > myself :-) I'll await comments before touching on anything else. > > Thanks, > > - Chris Beams > > >> From: Craig L Russell >> Date: August 3, 2007 7:04:52 PM PDT >> To: Apache JDO project , JDO Expert Group >> >> Subject: JDO 2.1 specification draft can be reviewed... >> >> >> at http://db.apache.org/jdo/documentation.html >> >> Check it out, and send comments... >> >> 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! >> > > 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-162-531071359 Content-Transfer-Encoding: base64 Content-Type: application/pkcs7-signature; name=smime.p7s Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGUDCCAwkw ggJyoAMCAQICECpJVMO68ii+Xfsc1O1YYFIwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMB4XDTA2MTIwOTE5NTEwNVoXDTA3MTIwOTE5NTEw NVowbDEQMA4GA1UEBBMHUnVzc2VsbDEUMBIGA1UEKhMLQ3JhaWcgTGFpcmQxHDAaBgNVBAMTE0Ny YWlnIExhaXJkIFJ1c3NlbGwxJDAiBgkqhkiG9w0BCQEWFUNyYWlnLlJ1c3NlbGxAU3VuLkNPTTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNAB4Ih+ShsCt89HzqIdwEx8L4o1UHiY6V7 16mrCedfd4Y0/uI7z9Zam8ysgEh+F7aDnQEKmEsVFN35G4nPMfLU6dZYkvADwUjbq82t/dJ3FDDg Q945nHHpqECZff/S/UMho9AFfj6PZvZBAlDCJAayb4RdKIlfuvPW9YcQStQ1IfVJcVuKnC0Q+tdc a4A7zn7IzLOQohO1lTc3hXSBigEIGiGYn6Ny0wmexfA3X1WsXekFx5czd+M4GjDjswn8CNoBmnBr jOTGK1mOsXR6GSRHnly2s9xTdE4qv9qimM+7C2yzMHbKcszV7OQoLsRsZKDh+6u9wYU+TrjcY4ym bA8CAwEAAaMyMDAwIAYDVR0RBBkwF4EVQ3JhaWcuUnVzc2VsbEBTdW4uQ09NMAwGA1UdEwEB/wQC MAAwDQYJKoZIhvcNAQEFBQADgYEAU/EpPDztnb55Fz7iGSVm1mYEVj5m2OQKTYG26POUAomCBRrt /CdBBvqYmcHUTpra0qLELHAQadYFl2v11iQkqwF5PPJs19oU/zA0m5qFnOMTAiCvel7IprIwA2r6 eJR9siaPwDRgVJ/Sj71dD+utwf+nRrNy0/7PMNK5y+ocsYQwggM/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 YWlsIElzc3VpbmcgQ0ECECpJVMO68ii+Xfsc1O1YYFIwCQYFKw4DAhoFAKCCAW8wGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcxMDAzMTkxOTEyWjAjBgkqhkiG9w0B CQQxFgQUP7C4hlSR6OCHIGXJPDwb+ryNr00wgYUGCSsGAQQBgjcQBDF4MHYwYjELMAkGA1UEBhMC WkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAqSVTDuvIovl37HNTtWGBSMIGHBgsqhkiG 9w0BCRACCzF4oHYwYjELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQ dHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAhAq SVTDuvIovl37HNTtWGBSMA0GCSqGSIb3DQEBAQUABIIBAI4Ss7NtcZZueQ7254ZHLWewdDgnynGd bvo5qUb3hAK9BMgSc/EhsP3ZC7ZZRsvEQCuBIXEHDAmEPfKHUdLtOw/KWDBV8VTdMDOxLzUeuJf/ pN2hO06aTHKRoBRtr/yNYcIUYYAbSNj35QIBhb+6TqYv34UU3fS7zR9gAAnc5zUMLDlHPMvH6Oth xwjcLaoPGe64DZucIbvYoS2JnMZsXfmQ37mWJVQwq12bIYqQafG3K3t/Ylw35uhEyp/W5GCwp8rj Zfg+RWelm/gV/QezjmsCiFt4j2AIidlGNowQl6Fv6MkE/r/AcOXNRDr5gfj9XhDMRYKNSrZozFk8 kWjpNGsAAAAAAAA= --Apple-Mail-162-531071359--