jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nils Weinander <nils.weinan...@mogul.com>
Subject Re: Adding jcr:title and jcr:description properties
Date Wed, 03 Mar 2010 13:00:17 GMT

On 2010-03-03 11:41, Stefan Guggisberg [via Jackrabbit] wrote:
> hi nils,
>
> On Wed, Mar 3, 2010 at 11:24 AM, Nils Weinander
> <[hidden email]
> <http://n4.nabble.com/user/SendEmail.jtp?type=node&node=1576362&i=0>>
> wrote:
>
>  >
>  > Probably a stupid newbie question, but here it goes. I use Jackrabbit
> 2.0.0
>  > through Spring-JCR. I want to use the jcr:title and jcr:description
>  > properties from the mix:title mixin. The significant portion of the code
>  > looks like this:
>  >
>  >   Node containerNode = rootNode.addNode(id,
> jcrConstants.getNT_FOLDER());
>  >   containerNode.addMixin("mix:title");
>  >   containerNode.setProperty("jcr:title", title);
>  >   containerNode.setProperty("jcr:description", description);
>  >   session.save();
>
> you're sure that 'session' is the one where you got 'rootNode' from?

Yes, it is the same session

> did you try to run a simple test case which just uses the jcr api
> (without any blackbox magic on top of if ;)? see jackrabbit-jcr-tests
> for examples.

A simple test case works:

	@Test
	public void testSetProperty() throws LoginException, RepositoryException {
		Repository repository = null;
		Map<String,String> parameters = new HashMap<String,String>();
		parameters.put("org.apache.jackrabbit.repository.conf", 
"C:/Users/nils.weinander/workspace/fofu-prototype/src/main/resources/repository.xml");
		parameters.put("org.apache.jackrabbit.repository.home", 
"C:/Users/nils.weinander/tmp/repo");
		for (RepositoryFactory factory : 
ServiceLoader.load(RepositoryFactory.class)) {
			repository = factory.getRepository(parameters);
			if (repository != null) {
				break;
			}
		}
		//Repository repository = new TransientRepository();
		Credentials credentials = new SimpleCredentials("admin", 
"admin".toCharArray());
		Session session = repository.login(credentials);
		Node testNode = session.getRootNode().addNode("TEST-NODE", 
NodeType.NT_FOLDER);
		testNode.addMixin("mix:title");
		testNode.setProperty("jcr:title", "TEST-TITLE");
		session.save();
		assertTrue(testNode.hasProperty("jcr:title"));
		Property property = testNode.getProperty("jcr:title");
		assertNotNull(property);
		assertEquals("TEST-TITLE", property.getString());
		session.logout();
	}

The logs differ slightly, I can see that I get a TransientRepository
with the simple test case.

So, something is different when the repository is instantiated
by Spring. Question is what...

-- 
mogul | nils weinander |
hudiksvallsgatan 4 113 30 stockholm sweden |
+46 8 4100 6456 | +46 709 78 28 37 |
nils.weinander@mogul.com | skype: nils.weinander |
www.mogul.com


-----
____________________________________________________________
Nils Weinander
-- 
View this message in context: http://n4.nabble.com/Adding-jcr-title-and-jcr-description-properties-tp1576347p1576497.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message