X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.jcr%2Fsrc%2Forg%2Fargeo%2Fslc%2Fjcr%2FJcrMetadataWriter.java;fp=org.argeo.slc.jcr%2Fsrc%2Forg%2Fargeo%2Fslc%2Fjcr%2FJcrMetadataWriter.java;h=0000000000000000000000000000000000000000;hb=ecc22e604e47533c79de9cecdcdeacbc752cbff1;hp=e2d1b10fedb05db4cb20ab08fb97b642474bd3cb;hpb=e07ded4632e53f8b8869763bc1f1f4091361e76e;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.jcr/src/org/argeo/slc/jcr/JcrMetadataWriter.java b/org.argeo.slc.jcr/src/org/argeo/slc/jcr/JcrMetadataWriter.java deleted file mode 100644 index e2d1b10fe..000000000 --- a/org.argeo.slc.jcr/src/org/argeo/slc/jcr/JcrMetadataWriter.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.argeo.slc.jcr; - -import java.util.HashMap; -import java.util.Map; - -import javax.jcr.Node; -import javax.jcr.RepositoryException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.jcr.JcrUtils; -import org.argeo.slc.SlcException; -import org.argeo.slc.SlcNames; - -/** - * Writes arbitrary metadata into a child node of a given node (or the node - * itself if metadata node name is set to null) - */ -public class JcrMetadataWriter implements Runnable { - private final static Log log = LogFactory.getLog(JcrMetadataWriter.class); - - private Node baseNode; - private String metadataNodeName = SlcNames.SLC_METADATA; - - private Map metadata = new HashMap(); - - public void run() { - try { - Node metadataNode; - if (metadataNodeName != null) - metadataNode = baseNode.hasNode(metadataNodeName) ? baseNode - .getNode(metadataNodeName) : baseNode - .addNode(metadataNodeName); - else - metadataNode = baseNode; - - for (String key : metadata.keySet()) - metadataNode.setProperty(key, metadata.get(key)); - - baseNode.getSession().save(); - - if (log.isDebugEnabled()) - log.debug("Wrote " + metadata.size() + " metadata entries to " - + metadataNode); - } catch (RepositoryException e) { - throw new SlcException("Cannot write metadata to " + baseNode, e); - } finally { - JcrUtils.discardUnderlyingSessionQuietly(baseNode); - } - - } - - public void setBaseNode(Node baseNode) { - this.baseNode = baseNode; - } - - public void setMetadataNodeName(String metadataNodeName) { - this.metadataNodeName = metadataNodeName; - } - - public void setMetadata(Map metadata) { - this.metadata = metadata; - } - -}