Hi,
i am using the rmi client within jcr-rmi with the jsr-283 specification,
and while creating content nodes
InputStream istream = item.getInputStream();
Node nodeChildFile =
nodeChild.addNode(fileName,"nt:file");
Node nodeChildFileContent =
nodeChildFile.addNode("jcr:content", "nt:resource");
nodeChildFileContent.setProperty ("jcr:mimeType",
mimeType);
nodeChildFileContent.setProperty ("jcr:data", istream);
nodeChildFileContent.setProperty ("jcr:lastModified",
System.currentTimeMillis());
i've came across some issues (*) regarding some interfaces
implementations, in this case the Value interface which has (among
others) the method getBinary() that has no implementation on the classes
that implement that interface
does anyone else has this problem?
is there a client jcr-rmi going to be released that implements the
changes already made in the jsr-283 specification?
(*) stack of the error i get:
org.apache.jackrabbit.rmi.client.RemoteRepositoryException:
java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.AbstractMethodError:
org.apache.jackrabbit.rmi.value.SerialValue.getBinary()Ljavax/jcr/Binary;
at
org.apache.jackrabbit.rmi.client.ClientNode.setProperty(ClientNode.java:131)
at
org.apache.jackrabbit.rmi.client.ClientNode.setProperty(ClientNode.java:182)
at repo.NodeHouseImpl.createNode(NodeHouseImpl.java:77)
at
org.apache.jsp.createNodesPost_jsp._jspService(createNodesPost_jsp.java:142)
at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
(...)
Caused by: java.rmi.ServerError: Error occurred in server thread; nested
exception is:
java.lang.AbstractMethodError:
org.apache.jackrabbit.rmi.value.SerialValue.getBinary()Ljavax/jcr/Binary;
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at
org.apache.jackrabbit.rmi.server.ServerNode_Stub.setProperty(Unknown Source)
at
org.apache.jackrabbit.rmi.client.ClientNode.setProperty(ClientNode.java:126)
... 21 more
Caused by: java.lang.AbstractMethodError:
org.apache.jackrabbit.rmi.value.SerialValue.getBinary()Ljavax/jcr/Binary;
at
org.apache.jackrabbit.core.value.InternalValue.create(InternalValue.java:134)
at
org.apache.jackrabbit.core.PropertyImpl.setValue(PropertyImpl.java:660)
at
org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:2462)
at
org.apache.jackrabbit.rmi.server.ServerNode.setProperty(ServerNode.java:246)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
(...)