Thanks for reporting this bug.

The intention was that it should not be necessary to define eventType when
return type or parameter is a DomainEvent. 

A workaround until we fix the bug is to define the eventType excplicity: 

@EmployeeHired recordHire(DateTime occurred, @Employee employee) publish
EmployeeHired to employeeChannel; 

I have added jira: http://fornax.itemis.de/jira/browse/CSC-535
and updated wiki doc (until we fix the bug).

/Patrik


rsmith wrote:
> 
> I'm very interested in the event-driven additions in Sculptor 1.9.  I'm
> getting an error when I try to have a service method publish a domain
> event in the model.
> 
> 
> Following is part of the model.  I get the error when I add 'recordHire'
> to the model.
> 
>       Module employee {
>       
>               Service EmployeeService {
>                       gap
>                       
>                       getEmployee delegates to EmployeeRepository.findByKey;
>                       
>                       @EmployeeHired recordHire(DateTime occurred, @Employee 
> employee)
> publish to employeeChannel;
>               }
> 
>               Entity Employee {
>                       aggregateRoot
>                       gap
>                       
>                       - EmployeeId empId key;
>               }
> 
> 
>               DomainEvent EmployeeHired {
>                       - @EmployeeId employee
>               }
>       }
> 
>       Module emplifecycle {
>               
>               Consumer EmployeeEventProcessor {
>                       subscribe to employeeChannel
>               }
>       }
> 
> The error I'm getting when building:
> 
> 08:10:28,132  INFO CompositeComponent:100 - Generator(generator):
> generating 'templates::Root::Root FOR transformedModel' =>
> [TO_GEN_RESOURCES_TEST:src/test/generated/resources,
> TO_GEN_SRC_TEST:src/test/generated/java,
> TO_RESOURCES_TEST:src/test/resources(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_SRC_TEST:src/test/java(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_GEN_WEBROOT:src/main/webapp,
> TO_RESOURCES:src/main/resources(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_SRC:src/main/java(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_WEBROOT:src/main/webapp(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_GEN_RESOURCES:src/generated/resources, src/generated/java]
> 08:10:30,076 ERROR Generator:194 - Error in Component generator of type
> org.eclipse.xpand2.Generator: 
>         EvaluationException : Ambiguous operations String
> getDomainPackage(Module module) and String getDomainPackage(DomainEvent
> event) for param types [Void]
>         templates::PubSub.xpt[920,28] on line 24
> 'eventType.getDomainPackage()'                                                
>                                                                       
>         templates::Service.xpt[12425,44] on line 352 'EXPAND
> PubSub::publishAnnotation FOR publish'                                        
>                                                           
>         templates::Service.xpt[10150,30] on line 311 'EXPAND
> serviceMethodAnnotation'                                                      
>                                                           
>         templates::Service.xpt[8920,151] on line 275 'EXPAND implMethod
> FOREACH
> operations.select(op|op.delegate.==(null)&&op.serviceDelegate.==(null)).reject(e|e.hasHint("EventSourcingScaffold"))'
>         templates::Service.xpt[1062,26] on line 33 'EXPAND
> serviceImplSubclass'                                                          
>                                                             
>         templates::Root.xpt[1657,53] on line 40 'EXPAND Service::service
> FOREACH getAllServices(false)'                                                
>                                               
>         [23,49] on line 1 'EXPAND templates::Root::Root FOR
> transformedModel'                                                             
>                                                            
> 
> 08:10:30,078 ERROR WorkflowRunner:423 - Workflow interrupted. Reason:
> Ambiguous operations String getDomainPackage(Module module) and String
> getDomainPackage(DomainEvent event) for param types [Void]
> 08:10:30,078 ERROR WorkflowRunner:450 - [ERROR]: Ambiguous operations
> String getDomainPackage(Module module) and String
> getDomainPackage(DomainEvent event) for param types [Void](Element:
> eventType.getDomainPackage(); Reported by: Generator(generator):
> generating 'templates::Root::Root FOR transformedModel' =>
> [TO_GEN_RESOURCES_TEST:src/test/generated/resources,
> TO_GEN_SRC_TEST:src/test/generated/java,
> TO_RESOURCES_TEST:src/test/resources(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_SRC_TEST:src/test/java(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_GEN_WEBROOT:src/main/webapp,
> TO_RESOURCES:src/main/resources(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_SRC:src/main/java(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_WEBROOT:src/main/webapp(overwrite=false,append=false,fileEncoding=iso-8859-1),
> TO_GEN_RESOURCES:src/generated/resources, src/generated/java])
> ...
> ...
> 

-- 
View this message in context: 
http://old.nabble.com/Error-when-trying-to-publish-DomainEvent-in-model-tp29286438s17564p29290128.html
Sent from the Fornax-Platform mailing list archive at Nabble.com.


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Fornax-developer mailing list
Fornax-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fornax-developer

Reply via email to