jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Guggisberg <stefan.guggisb...@gmail.com>
Subject Re: NodeType creation
Date Fri, 05 Mar 2010 09:39:22 GMT
On Thu, Mar 4, 2010 at 5:33 PM, Birmingham, Steven
<Steven.Birmingham@itt.com> wrote:
> Thanks for the input Stefan.  I looked up your suggestion and tried using CndImporter

erm, i don't think that i suggested using CndImporter...

i suggested using CompactNodeTypeDefReader to generate
NodeTypeDefinitions from your
cnd-style definitions. those NodeTypeDefinition objects can then be
passed on to the
JCR 2.0 method NodeTypeManager.registerNodeTypes() which should be available
on jcr-rmi and jcr2spi clients.

you can find some code here, starting at line 232:

http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java?revision=816551&view=markup

cheers
stefan

> which threw the exception JCR-2003. Implementation missing.  So, are you saying the
implementation is missing from the StandAlone server but would be available from the embedded
war file?
>
>                InputStream is = getClass().getClassLoader().getResourceAsStream("test.cnd");
>                Reader cnd = new InputStreamReader(is);
>                NodeType[] nodeTypes = CndImporter.registerNodeTypes(cnd, session);
>
> Steve
>
> -----Original Message-----
> From: Stefan Guggisberg [mailto:stefan.guggisberg@gmail.com]
> Sent: Thursday, March 04, 2010 3:46 AM
> To: users@jackrabbit.apache.org
> Subject: Re: NodeType creation
>
> On Thu, Mar 4, 2010 at 12:43 AM, Birmingham, Steven
> <Steven.Birmingham@itt.com> wrote:
>> I built and added jackrabbit-core-2.0.0.jar to the build path, but JackRabbitNodeTypeManager
is still unresolved.  Yes, I was trying to do an evaluation on the standalone server.  So,
are you saying NodeType management in 2.0 is not available in the standalone server?
>
> no, that's not what i am saying ;)
>
> i said that the method for registering node types defined in a CND or
> XML format
> might not be available on a remote client (such as jcr-rmi or jcr2spi).
>
> said method is specified in the jackrabbit-api, which is an extension
> to the jcr api.
> the jcr 2.0 api does not provide a method for registering node types
> declared in CND
> or XML format. it only allows to build and register node type
> definitions programmatically, see e.g.
>
> http://www.day.com/maven/javax.jcr/javadocs/jcr-2.0/javax/jcr/nodetype/NodeTypeManager.html#registerNodeTypes(javax.jcr.nodetype.NodeTypeDefinition[],%20boolean)
>
> you can use CompactNodeTypeDefReader (jcr-commons) to bridge the gap.
> CompactNodeTypeDefReader allows you to parse a CND file returning
> NodeTypeDefinitions
> which can be registered using the jcr 2.0 api.
>
> cheers
> stefan
>
>>
>> I will download the 2.0 war file and see if things work differently on Tomcat.  I
am a little confused as there is documentation on the 2.0 website for NodeType management
but I guess it is incomplete?
>>
>> Thanks for your help,
>> Steve
>>
>> -----Original Message-----
>> From: Stefan Guggisberg [mailto:stefan.guggisberg@gmail.com]
>> Sent: Wednesday, March 03, 2010 1:30 PM
>> To: users@jackrabbit.apache.org
>> Subject: Re: NodeType creation
>>
>>
>>
>> On 03.03.2010, at 19:01, "Birmingham, Steven"
>> <Steven.Birmingham@itt.com> wrote:
>>
>>> Thanks for the response.
>>>
>>> JackrabbitNodeTypeManager is not on the class path either.  I have
>>> all the 2.0 jars on the class path.
>>> For jackrabbitNodeTypeManagerImpl I get three implementations on the
>>> classpath:
>>> //import org.apache.jackrabbit.jcr2spi.nodetype.NodeTypeManagerImpl;
>>> //import
>>> org.apache.jackrabbit.ocm.nodemanagement.impl.jackrabbit.NodeTypeManagerImpl;
>>> import
>>> org.apache.jackrabbit.ocm.nodemanagement.impl.jeceira.NodeTypeManagerImpl;
>>>
>>> Does NodeType registration work for you in 2.0?
>>>
>> yes
>>
>> JackrabbitNodeTypeManager is included in jackrabbit-core, which is
>> missing from your dependencies list.
>>
>> are you accessing a stand-alone jackrabbit server? if yes, you might
>> be out of luck since the said method is only available on a local,
>> i.e. embedded instance.
>>
>> cheers
>> stefan
>>
>>> Here are my dependencies.
>>>
>>>    <dependency org="org/apache" name="log4j" rev="1.2+"
>>> conf="compile"/>
>>>    <dependency org="javax.jcr" name="jcr" rev="2.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-jcr-
>>> commons" rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-jcr2dav"
>>> rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-jcr2spi"
>>> rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-spi"
>>> rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-spi2dav"
>>> rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-spi-
>>> commons" rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-webdav"
>>> rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache/jackrabbit" name="jackrabbit-jcr-
>>> server" rev="2.0.0" conf="compile"/>
>>>    <dependency org="org/apache" name="commons-httpclient"
>>> rev="3.0.1" conf="compile"/>
>>>    <dependency org="org/apache" name="commons-codec" rev="1.3"
>>> conf="compile"/>
>>>    <dependency org="org/apache" name="commons-logging" rev="1.1.1"
>>> conf="compile"/>
>>>    <dependency org="org/apache" name="commons-collections" rev="3.2"
>>> conf="compile"/>
>>>    <dependency org="org/slf4j" name="slf4j-api" rev="1.5.2"
>>> conf="compile"/>
>>>    <dependency org="org/slf4j" name="slf4j-log4j12" rev="1.5.2"
>>> conf="compile"/>
>>>
>>> Steve
>>>
>>> -----Original Message-----
>>> From: Stefan Guggisberg [mailto:stefan.guggisberg@gmail.com]
>>> Sent: Wednesday, March 03, 2010 10:44 AM
>>> To: users@jackrabbit.apache.org
>>> Subject: Re: NodeType creation
>>>
>>> On Wed, Mar 3, 2010 at 5:25 PM, Birmingham, Steven
>>> <Steven.Birmingham@itt.com> wrote:
>>>> Hello,
>>>>
>>>> I am trying to read a NodeType configuration from an xml file.  The
>>>> example I used was from the ocm test classes.
>>>>
>>>>
>>>> jackrabbitNodeTypeManagerImpl.createNodeTypesFromConfiguration
>>>> (session,
>>>>                              new FileInputStream("./resources/
>>>> Signal.xml"));
>>>>
>>>> Exception in thread "main" java.lang.NoClassDefFoundError: org/
>>>> apache/jackrabbit/core/nodetype/xml/NodeTypeReader
>>>>
>>>> I have jcr-2.0.jar and all the other jackrabbit bundles on the
>>>> class path.  Am I somehow missing a jar or is this method not
>>>> supported anymore or changed?
>>>
>>> try this:
>>> http://jackrabbit.apache.org/api/2.0/org/apache/jackrabbit/api/JackrabbitNodeTypeManager.html#registerNodeTypes(java.io.InputStream,%20java.lang.String)
>>>
>>> e.g.
>>>
>>> ((JackrabbitNodeTypeManager)
>>> session.getNodeTypeManager()).registerNodeTypes(new
>>> FileInputStream("./resources/Signal.xml"),
>>> JackrabbitNodeTypeManager.TEXT_XML);
>>>
>>> cheers
>>> stefan
>>>>
>>>> Thanks,
>>>> Steve
>>>>
>>>> ________________________________
>>>> This e-mail and any files transmitted with it may be proprietary
>>>> and are intended solely for the use of the individual or entity to
>>>> whom they are addressed. If you have received this e-mail in error
>>>> please notify the sender.
>>>> Please note that any views or opinions presented in this e-mail are
>>>> solely those of the author and do not necessarily represent those
>>>> of ITT Corporation. The recipient should check this e-mail and any
>>>> attachments for the presence of viruses. ITT accepts no liability
>>>> for any damage caused by any virus transmitted by this e-mail.
>>>>
>>
>

Mime
View raw message