In 3.1 you can also do that with a custom module:

  binder.bindList(Constants.SERVER_USER_TYPES_LIST)
                .add(new XyzType())
                .add(new AbcType());

Still need to document that in the new cayenne-guide.pdf. BTW, check out 
org.apache.cayenne.configuration.Constants - it declares all supported 
extension points. Then you may take a look at ServerModule sources to see what 
Cayenne currently uses for each of those things.

Andrus

On Sep 17, 2012, at 4:22 AM, Tore Halset <[email protected]> wrote:
> Hello.
> 
> I do it this way with 3.1.
> 
>            ServerRuntime runtime = .....
>            DataDomain domain = runtime.getDataDomain();
>            DataNode node = domain.getDataNode("mydatanode");
>            ExtendedTypeMap extendedTypes = 
> node.getAdapter().getExtendedTypes();
>            extendedTypes.registerType(new ColorType());
>            extendedTypes.registerType(new WKTGeometryType(Geometry.class));
> 
> Btw, you should use 3.1B instead of 3.1M as B is newer.
> 
> Regards,
> Tore Halset.
> 
> On Sep 17, 2012, at 02:11 , Juan José Gil wrote:
> 
>> Hi,
>> 
>> I'm trying to use 3.1M3 version and I've noted that my ExtendedType
>> registrations aren't working anymore.
>> I've looked at docs, but they don't seem to be update. So I had readed the
>> unit tests at svn; but I did not understand them :(
>> 
>> Has anynoe already solved this problem?
>> 
>> The errors are:
>> 
>> import org.apache.cayenne.BaseContext;
>> import org.apache.cayenne.ObjectContext;
>> import org.apache.cayenne.access.DataContext;
>> import org.apache.cayenne.access.DataDomain;
>> import org.apache.cayenne.access.DataNode;
>> import org.apache.cayenne.conf.Configuration;
>> 
>> ...
>> 
>> @Before public void setupCayenne() {
>>   final DataDomain domain =
>> Configuration.getSharedConfiguration().getDomain(); // <-- it does not know
>> "Configuration"
>>   for (final DataNode node : domain.getDataNodes()) {
>> 
>> node.getAdapter().getExtendedTypes().registerType(DateTimeType.INSTANCE);
>> 
>> node.getAdapter().getExtendedTypes().registerType(LocalDateType.INSTANCE);
>> 
>> node.getAdapter().getExtendedTypes().registerType(LocalDateTimeType.INSTANCE);
>> 
>> node.getAdapter().getExtendedTypes().registerType(LocalTimeType.INSTANCE);
>>   }
>> 
>>   final ObjectContext context = DataContext.createDataContext(); // <--
>> this method doesn't exists anymore
>>   BaseContext.bindThreadObjectContext(context);
>> }
>> 
>> is there a sample I could reach?
>> 
>> Best Regards
>> Juanjo
> 
> 

Reply via email to