After having learned to extend Work interfaces from the Component interface, I've noticed that TimeScheduler does not yet follow this rule. Instead the implementation implements Component/Block. Therefore, I have looked around in Cornerstone for similar cases. Below is a list of stuff I have found. I'm not sure that I have seen everything and I haven't checked the apps directory, nor Excalibur in general. Some interfaces have no ROLE constant. I have added a comment where I think a ROLE constant should be added.
Not being a Avalon pro (yet), I may be wrong about this. But if I am, it would be good if someone could update the components so all follow the same conventions. Since Block extends Component I'm wondering if the same rules (as for Component) should apply to Block as well. Cornerstone: Classes/interfaces implementing Component: org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory (no ROLE constant) org.apache.avalon.cornerstone.services.connection.AbstractHandlerFactory Classes/interfaces implementing Block instead of Component: org.apache.avalon.cornerstone.services.services.ConnectionManager org.apache.avalon.cornerstone.blocks.connection.DefaultConnectionManager org.apache.avalon.cornerstone.services.packet.PacketManager org.apache.avalon.cornerstone.blocks.packet.DefaultPacketManager org.apache.avalon.cornerstone.services.scheduler.TimeScheduler org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler org.apache.avalon.cornerstone.services.security.RoleManager org.apache.avalon.cornerstone.blocks.security.DefaultRoleManager org.apache.avalon.cornerstone.services.soapification.SOAPification org.apache.avalon.cornerstone.blocks.soapification.glue.Glue org.apache.avalon.cornerstone.services.sockets.SocketManager org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager org.apache.avalon.cornerstone.services.threads.ThreadManager org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager org.apache.avalon.cornerstone.services.dom.DocumentBuilderFactory (no ROLE constant) org.apache.avalon.cornerstone.blocks.dom.DOMBuilderFactory org.apache.avalon.cornerstone.services.sax.SAXParserFactory (no ROLE constant) org.apache.avalon.cornerstone.blocks.sax.SAXParserFactoryImpl org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory org.apache.avalon.cornerstone.block.sockets.DefaultServerSocketFactory org.apache.avalon.cornerstone.block.sockets.TLSServerSocketFactory no ROLE constant: org.apache.avalon.cornerstone.services.store.Repository (and friends) org.apache.avalon.cornerstone.services.sockets.SocketFactory Thanks a lot. Cheers, Jeremias Märki mailto:[EMAIL PROTECTED] OUTLINE AG Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern Fon +41 (41) 317 2020 - Fax +41 (41) 317 2029 Internet http://www.outline.ch -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>