Hi, How about returning null in your code and setting a comment "TODO CMIS 1.1" which you'll be able to find easily later on?
Florent On Mon, Aug 26, 2013 at 11:42 AM, <jorge.martin-cue...@ext.ec.europa.eu> wrote: > Good morning Florian, > > Currently our goal is to implement CMIS 1.0 but in midterm we'll go for CMIS > 1.1. > If I throw an exception will be much faster to detect when we do the jump to > 1.1. > > In the other hand, returning a null will rely on my memory to remember to > change this piece of code ;) > > Regards. > > Jorge MARTIN CUERVO > > European Commission > DG TRADE > Unit A4 > CHAR 02/077 > B-1049 Brussels/Belgium > +32 2 298 86 27 > jorge.martin-cue...@ext.ec.europa.eu > > -----Original Message----- > From: Florian Müller [mailto:f...@apache.org] > Sent: Friday, August 23, 2013 5:45 PM > To: dev@chemistry.apache.org > Cc: MARTIN CUERVO Jorge (TRADE-EXT) > Subject: Re: CMIS 1.0 server is expecting CMIS 1.1 object type feature > > Hi Jorge, > > Some layers above the converter we know which CMIS version is used. For > the AtomPub binding we actually hand down that information to the > converter. The AtomPub converter skips CMIS 1.1 structures or warns the > developer if CMIS 1.1 details are provided in a CMIS 1.0 context. But > that is not meant to take away the responsibility from the developer to > provide the correct data for the CMIS version of the current call. > We could have reworked the Web Services converter to do something > similar but that would have been a lot of work just for developer > convenience. There are also some edge cases where the converter cannot > make a clear decision. > > Because CMIS 1.0 is a subset of CMIS 1.1, OpenCMIS uses the same > interfaces and classes for both versions. If they are used in a CMIS 1.0 > context, all CMIS 1.1 features should return null. The developer has to > ensure that. > > Why do you want throw an exception if a CMIS 1.1 method is called? As > long as you don't configure the CMIS 1.1 servlets, they don't do any > harm. > > > - Florian > > >> Hello all, >> >> We are working on a CMIS repository server and we have been using >> chemistry 0.8.0 for some time. >> >> Recently we have upgraded to the latest version 0.10.0 and we have >> found some unexpected behaviour. >> >> Our goal is to comply with CMIS 1.0, so what I have made is to throw >> an exception in those parts of the code related to CMIS 1.1, eg: >> >> In our class that implements >> org.apache.chemistry.opencmis.commons.definitions.TYPEDEFINITION: >> >> @Override >> >> PUBLIC TypeMutability getTypeMutability() { >> >> THROW NEW UnsupportedOperationException("getTypeMutability(): >> Operation not available. CMIS 1.1"); >> >> } >> >> My surprise when I try to connect to the server and I get the >> previous >> exception. >> >> In the class org.apache.chemistry.opencmis.commons.impl.WSCONVERTER >> about line 980, we could see: >> >> IF (typeDefinition.getTypeMutability() != NULL) { >> >> TypeMutability typeMutability = typeDefinition.getTypeMutability(); >> >> At this point, I suppose you know the version of CMIS implemented by >> the server, >> >> Is there any way to check the CMIS version before using >> TypeMutability? >> >> Regards. >> >> JORGE MARTIN CUERVO >> >> EUROPEAN COMMISSION >> DG TRADE >> Unit A4 >> >> CHAR 02/077 >> B-1049 Brussels/Belgium >> +32 2 298 86 27 >> jorge.martin-cue...@ext.ec.europa.eu [1] >> >> >> >> Links: >> ------ >> [1] mailto:jorge.martin-cue...@ext.ec.europa.eu > -- 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