You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by fm...@apache.org on 2008/04/02 21:40:45 UTC
svn commit: r644020 - in /jackrabbit/branches/1.4/jackrabbit-jcr-rmi: ./
src/main/java/org/apache/jackrabbit/rmi/client/
src/main/java/org/apache/jackrabbit/rmi/xml/
Author: fmeschbe
Date: Wed Apr 2 12:40:44 2008
New Revision: 644020
URL: http://svn.apache.org/viewvc?rev=644020&view=rev
Log:
JCR-1343 Replace xerces for serialization by JAXP
- Backport Rev. 616082 fix using new jackrabbit-jcr-commons XML features
- Explicitly require jackrabbit-jcr-commons release 1.4.2 containing the
XML features
Removed:
jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/xml/
Modified:
jackrabbit/branches/1.4/jackrabbit-jcr-rmi/pom.xml
jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientSession.java
jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientWorkspace.java
Modified: jackrabbit/branches/1.4/jackrabbit-jcr-rmi/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.4/jackrabbit-jcr-rmi/pom.xml?rev=644020&r1=644019&r2=644020&view=diff
==============================================================================
--- jackrabbit/branches/1.4/jackrabbit-jcr-rmi/pom.xml (original)
+++ jackrabbit/branches/1.4/jackrabbit-jcr-rmi/pom.xml Wed Apr 2 12:40:44 2008
@@ -94,6 +94,7 @@
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-commons</artifactId>
+ <version>1.4.2</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
Modified: jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientSession.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientSession.java?rev=644020&r1=644019&r2=644020&view=diff
==============================================================================
--- jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientSession.java (original)
+++ jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientSession.java Wed Apr 2 12:40:44 2008
@@ -41,8 +41,9 @@
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.stream.StreamSource;
+import org.apache.jackrabbit.commons.xml.DefaultContentHandler;
+import org.apache.jackrabbit.commons.xml.SerializingContentHandler;
import org.apache.jackrabbit.rmi.remote.RemoteSession;
-import org.apache.jackrabbit.rmi.xml.SessionImportContentHandler;
import org.apache.jackrabbit.rmi.value.SerialValueFactory;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;
@@ -263,9 +264,25 @@
}
/** {@inheritDoc} */
- public ContentHandler getImportContentHandler(String path, int mode)
- throws RepositoryException {
- return new SessionImportContentHandler(this, path, mode);
+ public ContentHandler getImportContentHandler(
+ final String path, final int mode) throws RepositoryException {
+ try {
+ final ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+ ContentHandler handler =
+ SerializingContentHandler.getSerializer(buffer);
+ return new DefaultContentHandler(handler) {
+ public void endDocument() throws SAXException {
+ super.endDocument();
+ try {
+ remote.importXML(path, buffer.toByteArray(), mode);
+ } catch (Exception e) {
+ throw new SAXException("XML import failed", e);
+ }
+ }
+ };
+ } catch (SAXException e) {
+ throw new RepositoryException("XML serialization failed", e);
+ }
}
/** {@inheritDoc} */
Modified: jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientWorkspace.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientWorkspace.java?rev=644020&r1=644019&r2=644020&view=diff
==============================================================================
--- jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientWorkspace.java (original)
+++ jackrabbit/branches/1.4/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/client/ClientWorkspace.java Wed Apr 2 12:40:44 2008
@@ -31,12 +31,14 @@
import javax.jcr.query.QueryManager;
import javax.jcr.version.Version;
+import org.apache.jackrabbit.commons.xml.DefaultContentHandler;
+import org.apache.jackrabbit.commons.xml.SerializingContentHandler;
import org.apache.jackrabbit.rmi.remote.RemoteNamespaceRegistry;
import org.apache.jackrabbit.rmi.remote.RemoteNodeTypeManager;
import org.apache.jackrabbit.rmi.remote.RemoteQueryManager;
import org.apache.jackrabbit.rmi.remote.RemoteWorkspace;
-import org.apache.jackrabbit.rmi.xml.WorkspaceImportContentHandler;
import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
/**
* Local adapter for the JCR-RMI {@link RemoteWorkspace RemoteWorkspace}
@@ -193,9 +195,23 @@
/** {@inheritDoc} */
public ContentHandler getImportContentHandler(
- String path, int uuidBehaviour)
- throws RepositoryException {
- return new WorkspaceImportContentHandler(this, path, uuidBehaviour);
+ final String path, final int mode) throws RepositoryException {
+ try {
+ final ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+ return new DefaultContentHandler(
+ SerializingContentHandler.getSerializer(buffer)) {
+ public void endDocument() throws SAXException {
+ super.endDocument();
+ try {
+ remote.importXML(path, buffer.toByteArray(), mode);
+ } catch (Exception e) {
+ throw new SAXException("XML import failed", e);
+ }
+ }
+ };
+ } catch (SAXException e) {
+ throw new RepositoryException("XML serialization failed", e);
+ }
}
/** {@inheritDoc} */