You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Paco Avila <pa...@git.es> on 2006/03/22 11:53:45 UTC

Error when getting node UUID

I want to create a Node and get its UUID, buy it fails. The node is
created with mixin referenceable so it should work, isn't it? Sample
code can be found below.

---------------------- CODE ----------------------
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, 
	"org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory");
env.put(Context.PROVIDER_URL, "localhost");
InitialContext ctx = new InitialContext(env);
		
// Repository config
String configFile = "repotest/repository.xml";
String repHomeDir = "repotest";
RegistryHelper.registerRepository(ctx, "repo", configFile, repHomeDir,
true);

// Obtain the repository through a JNDI lookup
Repository r = (Repository) ctx.lookup("repo");
		
// Create a new repository session, after authenticating
Session session = r.login(new SimpleCredentials("paco",
	"".toCharArray()), null);

// Namespace registration
Workspace ws = session.getWorkspace();
ws.getNamespaceRegistry().registerNamespace("okm",
	"http://www.openkm.org/1.0");
		
// Node creation
Node root = session.getRootNode();
root.addNode("okm:root", "nt:folder");
root.addMixin("mix:referenceable");
session.save();
		
// Get node
Node node = session.getRootNode().getNode("okm:root");
System.out.println("Node: "+node);
System.out.println("Node Name: "+node.getName());
System.out.println("Node UUID: "+node.getUUID());
---------------------- CODE ----------------------

-- 
Paco Avila
GIT Consultors


Re: Error when getting node UUID

Posted by Paco Avila <pa...@git.es>.
El mié, 22-03-2006 a las 03:18 -0800, Mark Slater escribió:
> It looks like you're adding the referencable type to the root node  
> instead of the node you just created.
> 
> I think what you want to be doing is this:
> 
> // Node creation
> Node repositoryRoot = session.getRootNode();
> Node okmRoot = repositoryRoot.addNode("okm:root", "nt:folder");
> okmRoot.addMixin("mix:referenceable");
> session.save();

Yes, you are true, this is a stupid error :/

Sorry.

-- 
Paco Avila
GIT Consultors


Re: Error when getting node UUID

Posted by Mark Slater <li...@humanesoftware.com>.
It looks like you're adding the referencable type to the root node  
instead of the node you just created.

I think what you want to be doing is this:

// Node creation
Node repositoryRoot = session.getRootNode();
Node okmRoot = repositoryRoot.addNode("okm:root", "nt:folder");
okmRoot.addMixin("mix:referenceable");
session.save();

Mark

On Mar 22, 2006, at 2:53 AM, Paco Avila wrote:

> I want to create a Node and get its UUID, buy it fails. The node is
> created with mixin referenceable so it should work, isn't it? Sample
> code can be found below.
>
> ---------------------- CODE ----------------------
> Hashtable env = new Hashtable();
> env.put(Context.INITIAL_CONTEXT_FACTORY,
> 	"org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory" 
> );
> env.put(Context.PROVIDER_URL, "localhost");
> InitialContext ctx = new InitialContext(env);
> 		
> // Repository config
> String configFile = "repotest/repository.xml";
> String repHomeDir = "repotest";
> RegistryHelper.registerRepository(ctx, "repo", configFile, repHomeDir,
> true);
>
> // Obtain the repository through a JNDI lookup
> Repository r = (Repository) ctx.lookup("repo");
> 		
> // Create a new repository session, after authenticating
> Session session = r.login(new SimpleCredentials("paco",
> 	"".toCharArray()), null);
>
> // Namespace registration
> Workspace ws = session.getWorkspace();
> ws.getNamespaceRegistry().registerNamespace("okm",
> 	"http://www.openkm.org/1.0");
> 		
> // Node creation
> Node root = session.getRootNode();
> root.addNode("okm:root", "nt:folder");
> root.addMixin("mix:referenceable");
> session.save();
> 		
> // Get node
> Node node = session.getRootNode().getNode("okm:root");
> System.out.println("Node: "+node);
> System.out.println("Node Name: "+node.getName());
> System.out.println("Node UUID: "+node.getUUID());
> ---------------------- CODE ----------------------
>
> -- 
> Paco Avila
> GIT Consultors
>
>