Re: Multivalue or single?

2006-06-20 Thread Tobias Bocanegra

i think this is only a theoretical problem. usualy the application
knows with what kind of properties it deals.

regards, toby

On 6/20/06, Jukka Zitting <[EMAIL PROTECTED]> wrote:

Hi,

On 6/20/06, Marcel Reutegger <[EMAIL PROTECTED]> wrote:
> On 6/19/06, David Kennedy <[EMAIL PROTECTED]> wrote:
> > If I have a node, the name of a property and a single value, how can I
> > determine if I need to add the value to an array and use the multivalue
> > setter or not?
>
> You'll have to ask the NodeType of the node:

The difficulty lies in the fact that the property could be specified
either in the primary type or in one of the mixin types. Iterating
through them is a bit cumbersome and error-prone.

BR,

Jukka Zitting

--
Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED]
Software craftsmanship, JCR consulting, and Java development




--
-< [EMAIL PROTECTED] >---
Tobias Bocanegra, Day Management AG, Barfuesserplatz 6, CH - 4001 Basel
T +41 61 226 98 98, F +41 61 226 98 97
---< http://www.day.com >---


Re: Multivalue or single?

2006-06-20 Thread Jukka Zitting

Hi,

On 6/20/06, Marcel Reutegger <[EMAIL PROTECTED]> wrote:

On 6/19/06, David Kennedy <[EMAIL PROTECTED]> wrote:
> If I have a node, the name of a property and a single value, how can I
> determine if I need to add the value to an array and use the multivalue
> setter or not?

You'll have to ask the NodeType of the node:


The difficulty lies in the fact that the property could be specified
either in the primary type or in one of the mixin types. Iterating
through them is a bit cumbersome and error-prone.

BR,

Jukka Zitting

--
Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED]
Software craftsmanship, JCR consulting, and Java development


Re: Multivalue or single?

2006-06-20 Thread Marcel Reutegger

On 6/19/06, David Kennedy <[EMAIL PROTECTED]> wrote:

If I have a node, the name of a property and a single value, how can I
determine if I need to add the value to an array and use the multivalue
setter or not?


You'll have to ask the NodeType of the node:

NodeType nt = node.getPrimaryNodeType();
if (nt.canSetProperty("propName", mySingleValue)) {
 node.setProperty("propName", mySingleValue);
} else {
 node.setProperty("propName", new Value[]{mySingleValue});
}

regards
marcel


Re: Multivalue or single?

2006-06-19 Thread Martin Perez

The only solution to your problem would be to have some metadata info about
them, and so you could look if the property was single or multivalued.

Obviously the real problem is how to find if a property is single/multiple
if such property does not exist so I cannot agree more with Jukka. Having a
getPropertyDefinition method would be really nice.

Martin

On 6/19/06, Jukka Zitting <[EMAIL PROTECTED]> wrote:


Hi,

On 6/20/06, David Kennedy <[EMAIL PROTECTED]> wrote:
> If I have a node, the name of a property and a single value, how can I
> determine if I need to add the value to an array and use the multivalue
> setter or not?

Good question. Perhaps we should add something like a
getPropertyDefinition(String name) method to a JackrabbitNode
extension interface. This might also be a good suggestion to JSR 283
unless someone has a better idea.

BR,

Jukka Zitting

--
Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED]
Software craftsmanship, JCR consulting, and Java development



Re: Multivalue or single?

2006-06-19 Thread Jukka Zitting

Hi,

On 6/20/06, David Kennedy <[EMAIL PROTECTED]> wrote:

If I have a node, the name of a property and a single value, how can I
determine if I need to add the value to an array and use the multivalue
setter or not?


Good question. Perhaps we should add something like a
getPropertyDefinition(String name) method to a JackrabbitNode
extension interface. This might also be a good suggestion to JSR 283
unless someone has a better idea.

BR,

Jukka Zitting

--
Yukatan - http://yukatan.fi/ - [EMAIL PROTECTED]
Software craftsmanship, JCR consulting, and Java development