You're problem comes from the fact that you're working with RMI. In this case, 
Workspace.getNodeTypeManager() doesn't return a NodeTypeManagerImpl, but a 
ClientNodeTypeManager.

The ClientNodeTypeManager is kind of a proxy to the remote NodeTypeManager, and 
gives access to the remote manager through the NodeTypeManager interface (which 
only proposes getters, no registration or reregistration methods).

As far as I know, it seems impossible to access the NodeTypeManagerImpl API 
with it. NodeTypeManagerImpl is implementing the JackrabbitNodeTypeManager 
interface, which defines the register and reregister methods, but :
- ClientNodeTypeManager implements NodeTypeManager;
- ClientNodeTypeManager holds a RemoteNodeTypeManager, the reference to the 
remote manager, but it also implements the NodeTypeManager interface.

All this to say there seems to be no way to get access to the 
JackrabbitNodeTypeManager interface through the ClientNodeTypeManager.

So in this case, RMI is causing the trouble.

Is RMI mandatory for you? Couldn't you try to work with web services or 
messaging?

Frédéric Esnault - Ingénieur R&D
Legisway
60 boulevard de la mission Marchand
92400 Courbevoie La Défense
 

-----Message d'origine-----
De : Stefano Minella [mailto:[EMAIL PROTECTED] 
Envoyé : jeudi 24 mai 2007 23:13
À : [email protected]
Objet : NodeTypeRegistry question

Hi all
I need to register a new nodetype, having all the properties, and not
the CND file.
So I try to do this steps to retrieve NodeTypeRegistry (and then use
it with a NodeTypeDef class):

NodeTypeManagerImpl ntmgr = (NodeTypeManagerImpl)ws.getNodeTypeManager();
NodeTypeRegistry nodeTypeRegistry = ntmgr.getNodeTypeRegistry();

My problem is that at run-time the result of ws.getNodeTypeManager()
is a class named ClientNodeTypeManager instead of NodeTypeManagerImpl.
But in ClientNodeTypeManager class I haven't the method to retrieve
the NodeTypeRegistry.

So... how can I do to register a nodetype?

And may be a problem that the application run on a Model 3 enviroment
(I use with the rmi to interface with Jackrabbit)?

Thank you
bye
stefano

Reply via email to