[ https://issues.apache.org/jira/browse/POLYGENE-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16026368#comment-16026368 ]
Paul Merlin commented on POLYGENE-257: -------------------------------------- Yeah, the added magic layer is not a nice solution. Or it would need to be read-only and hidden. Which sounds very ad-hoc. I agree we should remove both IdentityGenerator and Serialization from defaultAssemblers. But I think we need to provide some convenience for both tests and applications assemblies. It basically should be an opt-in. For AbstractPolygeneTest it could be enabled by default with a way to opt-out. I also think we should have "default services", but no "fallbacks", and treat MetricsProvider the same way. So that the service semantics can apply directly. For both applications and non-trivial tests one will want to opt-in on a given Layer/Module. Moreover, one may want the default IdentityGenerator but not the default Serialization etc... Here are a few assembly api proposals: {code} // on the ModuleAssembly: moduleAssembly.defaultServices() .visibleIn( Visibility.application ); // for each "default service": moduleAssembly.defaultIdentityGenerator() .visibleIn( Visibility.application ); moduleAssembly.defaultSerialization() .visibleIn( Visibility.application ); moduleAssembly.defaultMetricsProvider() .visibleIn( Visibility.application ); {code} These would return a classic `ServiceDeclaration`. It'd be easily usable with SingletonAssembler, tests etc.. while providing fine grained control for non trivial assemblies. On a side note, ideally, service lookup exceptions should guide the user towards resolving her assembly errors. For now they only say, not found, here are the ones that you could have found. That's not very useful. For injections, knowing what required a service without having to "decypher" the stacktrace would be way better. > Custom IdentityGenerator or Serialization hidden by default assemblers > ---------------------------------------------------------------------- > > Key: POLYGENE-257 > URL: https://issues.apache.org/jira/browse/POLYGENE-257 > Project: Polygene > Issue Type: Bug > Reporter: Paul Merlin > Assignee: Paul Merlin > Fix For: 3.0.0 > > > See > https://lists.apache.org/thread.html/9b28a67e75cb8952202d0b0b029de53fc19257b733907408ba20ccde@%3Cdev.polygene.apache.org%3E -- This message was sent by Atlassian JIRA (v6.3.15#6346)