Simple things could help: a) I don't want to collapse property definition classes, because they have type dependent methods. But it would help just to move them into a separate package. The use case is intellisense feature of the IDE. Currently it is hard to select what you want.
b) All interfaces derived from PropertyData do not really extend the interface. E.g. PropertyDataTime extends PropertyData<GregorianCalendar>{}. Isn't it sufficient just to have PropertyData<T>? Regards, Stephan -----Original Message----- From: Florian Müller [mailto:fmuel...@opentext.com] Sent: Mittwoch, 12. Mai 2010 17:02 To: chemistry-dev@incubator.apache.org Subject: RE: [jira] Resolved: (CMIS-124) Client Runtime Implementation CMIS defines almost 200 different structures. So, 50 interfaces for the CMIS Bindings API sounds reasonable. Even if we consolidate a few (which doesn't make them more useable!), the magnitude will not change. What's the issue? The size of the Jar? The Client API user will only deal with a few of them. Florian -----Original Message----- From: Klevenz, Stephan [mailto:stephan.klev...@sap.com] Sent: Mittwoch, 12. Mai 2010 16:34 To: chemistry-dev@incubator.apache.org Subject: RE: [jira] Resolved: (CMIS-124) Client Runtime Implementation Hi, I'm also interested into this discussion. There is a general issue with package *.commons.api that contains more than 50 interfaces (!). Removing unnecessary interfaces and re-structuring would make sense. Regards, Stephan -----Original Message----- From: Florian Müller [mailto:fmuel...@opentext.com] Sent: Mittwoch, 12. Mai 2010 16:01 To: chemistry-dev@incubator.apache.org Subject: RE: [jira] Resolved: (CMIS-124) Client Runtime Implementation That doesn't really sound object oriented... We should discuss this later with some use cases. Florian -----Original Message----- From: Florent Guillaume [mailto:f...@nuxeo.com] Sent: Mittwoch, 12. Mai 2010 15:35 To: chemistry-dev Subject: Re: [jira] Resolved: (CMIS-124) Client Runtime Implementation I know but it's rather easy to add all of: T getMinValue(); T getMaxValue(); BigInteger getMaxLength(); DecimalPrecision getDecimalPrecision(); DateTimeResolution getDateTimeResolution(); on the single PropertyDefinition class, and make them throw exceptions when not called on the suitable kind of property. Florent On Wed, May 12, 2010 at 3:20 PM, Florian Müller <fmuel...@opentext.com> wrote: > Hi Florent, > > The Property*Defintion interfaces are actually different and cannot be > collapsed. Compare PropertyDateTimeDefinition with PropertyDecimalDefinition, > for example. > > > - Florian > > -----Original Message----- > From: Florent Guillaume [mailto:f...@nuxeo.com] > Sent: Mittwoch, 12. Mai 2010 14:49 > To: chemistry-dev > Subject: Re: [jira] Resolved: (CMIS-124) Client Runtime Implementation > > Yes, with use there's some things that may appear as suboptimal in the > current API and we cannot promise no changes. But nothing > revolutionary will come I'm sure. > > As an example of changes that may or may not appear: > > I don't like this part of the high-level API and find it hard to use: > <T> T getPropertyValue(String id); > <T> List<T> getPropertyMultivalue(String id); > > After the first release is done, I'll propose to change it to: > <T> T getPropertyValue(String id); > > Which would returns a single value for a single-valued property, and a > list for a multi-valued property. > > > I'd also like to fold all the PropertyDecimalDefinition, > PropertyStringDefinition, etc. into the single PropertyDefinition<T> > because the sub-interfaces don't add much IMHO. Proposal to come. > > > (I'm not proposing to do it earlier as I really want a first release > out the door and have little enough time to work on this right now... > and I'm in vacation for the next 10 days.) > > Florent > > > > On Sun, May 9, 2010 at 6:52 PM, Florian Müller <fmuel...@opentext.com> wrote: >> Hi Ugo, >> >> "Somewhat stable" is the right term. Most of the merger refactoring tasks >> are done. Only the type manager implementation is still missing. >> >> I cannot promise that there will no changes within the next weeks, but we >> certainly will not redesign the API. >> >> >> - Florian >> >> >> -----Original Message----- >> From: Ugo Cei [mailto:u....@sourcesense.com] >> Sent: Freitag, 7. Mai 2010 19:18 >> To: chemistry-dev@incubator.apache.org >> Subject: Re: [jira] Resolved: (CMIS-124) Client Runtime Implementation >> >> >> On May 7, 2010, at 3:44 PM, Florian Müller wrote: >> >>> Hi Ugo, >>> >>> It's there for quite some time now. >>> >>> This page explains how you get and compile it: [1] >>> The API introduction pages [2] and [3] are a bit out-of-date. The basics >>> are still valid but some names have changed. >> >> >> Thank you. What I actually would like to know is whether the current APIs >> are considered somewhat stable, after the Chemistry/OpenCMIS merge. I can >> live with an incomplete and buggy implementation (and try to contribute >> fixes, as much as possible), but less so if a complete redesign is still in >> the pipeline. >> >> Ugo >> >> -- >> Ugo Cei >> Sourcesense - making sense of Open Source: http://www.sourcesense.com >> >> > > > > -- > Florent Guillaume, Director of R&D, Nuxeo > Open Source, Java EE based, Enterprise Content Management (ECM) > http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87 > -- Florent Guillaume, Director of R&D, Nuxeo Open Source, Java EE based, Enterprise Content Management (ECM) http://www.nuxeo.com http://www.nuxeo.org +33 1 40 33 79 87