Skip to main content
August 31, 2010
Question

Integration - Error: The synchronized type much have a property marked with the [SyncId] metadata.

  • August 31, 2010
  • 1 reply
  • 2559 views

Can't able to get integration library integrated with flex3 builder. What am I missing?

Flex 3

Main file: main.mxml

No other setting on flex compiler for metadata

libraries used:parsley-flex3-2.2.2.swc,spicelib-flex-2.2.2.swc,integration-flex 3-0.13.swc

Compiles well but throws the following error on runtime:

---------------------------------------------------------------------- ---------------------------------------------------------------------- ----

Cause(0): Initialization of ObjectDefinition for Class com.adobe.cairngorm.integration.data::DataCache failed - cause: Error: The synchronized type much have a property marked with the [SyncId] metadata.

at com.adobe.cairngorm.integration.data::DataCache/findIdentityProperty( )

at com.adobe.cairngorm.integration.data::DataCache/initialise()

at Function/http://adobe.com/AS3/2006/builtin::apply()

.....

[truncated]

---------------------------------------------------------------------- ---------------------------------------------------------------------- ----

AppContext.mxml

---------------------------------------------------------------------- ---------------------------------------------------------------------- ----

<?xml version="1.0" encoding="utf-8"?>

<mx:Object xmlns:mx="http://www.adobe.com/2006/mxml"

xmlns:data="com.adobe.cairngorm.integration.data.*" xmlns:domain="com.test.domain.*">

<data:DataCache type="com.test.domain.TestItem" />

</mx:Object>

main.mxml

---------------------------------------------------------------------- ---------------------------------------------------------------------- ----

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:spicefactory="http://www.spicefactory.org/parsley">

<mx:Script>

<![CDATA[

import com.test.domain.TestItem;

import org.spicefactory.parsley.core.messaging.ErrorPolicy;

private function init() : void {

new TestItem();

}

]]>

</mx:Script>

<spicefactory:ContextBuilder>

<spicefactory:FlexConfig type="{ AppContext }"/>

<spicefactory:Settings unhandledMessageErrors="{ErrorPolicy.RETHROW}"/>

</spicefactory:ContextBuilder>

<mx:Label text="Hello there!" />

</mx:Application>

TestItem.as

------------------

package com.test.domain

{

import mx.utils.ObjectUtil;

    public class TestItem  {

        [SyncId]

        public var id:int;

        public var value:String;

         public function toString():String

        {

            return ObjectUtil.toString(this);

        }

    }

}

This topic has been closed for replies.

1 reply

August 31, 2010

Found it!!!

Needed <cairngorm:CairngormIntegrationSupport/> in main.mxml. Gash! This cairngorm needs a very good documentation :-)

<spicefactory:ContextBuilder>

<cairngorm:CairngormIntegrationSupport/>

<cairngorm:CairngormNavigationSupport/>

<spicefactory:FlexConfig type="{ AppConfig }"/>

<spicefactory:Settings unhandledMessageErrors="{ErrorPolicy.RETHROW}"/>

</spicefactory:ContextBuilder>

Participating Frequently
November 2, 2010

Hi,

I'm using integration lib for flex 3 (all integration swc except the DMS one, the doc does not tell if they should all be used or only some of them and what for !!!).

My project also use parsley 2.3.

My application was throwing an error (see this post : http://forums.adobe.com/message/3097516#3097516). As last answer to this topic said, I added the following tag :

<cairngorm:CairngormIntegrationSupport />

and I now have compile time errors:

[ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface callInContext de l'espace de nom mx.core:IFlexModuleFactory n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface registerImplementation de l'espace de nom mx.core:IFlexModuleFactory n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface getImplementation de l'espace de nom mx.core:IFlexModuleFactory n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface get isProxy de l'espace de nom mx.managers:ISystemManager n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface invalidateParentSizeAndDisplayList de l'espace de nom mx.managers:ISystemManager n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface callInContext de l'espace de nom mx.core:IFlexModuleFactory n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface registerImplementation de l'espace de nom mx.core:IFlexModuleFactory n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager [ERROR] _AppFlex_mx_managers_SystemManager.as:[20,14] La mΘthode d'interface getImplementation de l'espace de nom mx.core:IFlexModuleFactory n'est pas implΘmentΘe par la classe _AppFlex_mx_managers_SystemManager.public class _AppFlex_mx_managers_SystemManager

which means (for non french readers) that my application file does not implement the listed methods (CallInContext, registerImplementation, ...) from the IFlexModuleFactory interface.

I don't know why I have these errors but I hope you'll tell me

Thanks