Fornax-Platform
Forum

Re: problem in SpecialCases when using reference of BasicType in Entity

by Patrik Nordwall :: Rate this Message:

Reply to Author | View in Thread

I tried your sample and it works fine. Any chance that you are using wrong version of Sculptor?

isEnumReference() was added by http://www.fornax-platform.org/tracker/browse/CSC-249
which was not released in 1.5.0.

/Patrik

Markus Flögel wrote:
hello,

i have a problem when i extend my workflow using the SpecialCases template.
i use sculptor version 1.5.0 .
Here is an example.  I describe two classes in the model.

Application MyApp {
    basePackage=com.example

        Module common
        {
                BasicType Ident
                {
                        String namespace key;
                        String namespacekey key;
                }
               
                Entity IdentifierEntity
                {
                    - @Ident ident key;
                }
        }
}

In the SpecialCases i want to use some functions of the Reference:

«IMPORT sculptormetamodel»
«EXTENSION extensions::helper»
«EXTENSION extensions::dbhelper»
«EXTENSION extensions::properties»

«AROUND *::DomainObject::keyGetter FOR DomainObject»
  «targetDef.proceed()»
 
  «EXPAND ReferenceToXML FOREACH references.select(r | !r.many)»
 
«ENDAROUND»

«DEFINE ReferenceToXML FOR Reference»
  «IF isEnumReference()»
  test
  «ENDIF»
  default
«ENDDEFINE»



Every time i use a function from Reference i get errors like this:

ERROR AbstractExpressionsUsingWorkflowComponent - Error in Component generator of type org.openarchitectureware.xpand2.Generator:
        EvaluationException : Couldn't find operation 'isEnumReference()' for sculptormetamodel::Reference.
        templates::SpecialCases.xpt[563,17] on line 21 'isEnumReference()'                                            
        templates::SpecialCases.xpt[436,60] on line 16 'EXPAND ReferenceToXML FOREACH references.select(r|r.many.!())'
        templates::DomainObject.xpt[2942,16] on line 87 'EXPAND keyGetter'                                            
        templates::DomainObject.xpt[862,23] on line 24 'EXPAND domainObjectBase'                                      
        templates::Root.xpt[884,68] on line 25 'EXPAND DomainObject::domainObject FOREACH getAllDomainObjects(false)'
        [23,49] on line 1 'EXPAND templates::Root::Root FOR transformedModel'


When i comment out the line - @Ident ident key;  in the model, everything works fine. I think there must be a problem using references of BasicType.

 « Return to Thread: problem in SpecialCases when using reference of BasicType in Entity