
org.apache.jackrabbit.spi.commons.logging.BatchLogger Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jackrabbit.spi.commons.logging;
import javax.jcr.RepositoryException;
import org.apache.jackrabbit.spi.Batch;
import org.apache.jackrabbit.spi.ItemId;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.NodeId;
import org.apache.jackrabbit.spi.PropertyId;
import org.apache.jackrabbit.spi.QValue;
import org.apache.jackrabbit.spi.Tree;
/**
* Log wrapper for a {@link Batch}.
*/
public class BatchLogger extends AbstractLogger implements Batch {
private final Batch batch;
/**
* Create a new instance for the given batch
which uses
* writer
for persisting log messages.
* @param batch
* @param writer
*/
public BatchLogger(Batch batch, LogWriter writer) {
super(writer);
this.batch = batch;
}
/**
* @return the wrapped Batch
*/
public Batch getBatch() {
return batch;
}
// -----------------------------------------------------< Batch >---
public void addNode(final NodeId parentId, final Name nodeName, final Name nodetypeName, final String uuid)
throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.addNode(parentId, nodeName, nodetypeName, uuid);
return null;
}}, "addNode(NodeId, Name, Name, String)", new Object[]{parentId, nodeName, nodetypeName, uuid});
}
public void addProperty(final NodeId parentId, final Name propertyName, final QValue value)
throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.addProperty(parentId, propertyName, value);
return null;
}}, "addProperty(NodeId, Name, QValue)", new Object[]{parentId, propertyName, value});
}
public void addProperty(final NodeId parentId, final Name propertyName, final QValue[] values)
throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.addProperty(parentId, propertyName, values);
return null;
}}, "addProperty(NodeId, Name, QValue[])", new Object[]{parentId, propertyName, values});
}
public void setValue(final PropertyId propertyId, final QValue value) throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.setValue(propertyId, value);
return null;
}}, "setValue(PropertyId, QValue)", new Object[]{propertyId, value});
}
public void setValue(final PropertyId propertyId, final QValue[] values) throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.setValue(propertyId, values);
return null;
}}, "setValue(PropertyId, QValue[])", new Object[]{propertyId, values});
}
public void remove(final ItemId itemId) throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.remove(itemId);
return null;
}}, "remove(ItemId)", new Object[]{itemId});
}
public void reorderNodes(final NodeId parentId, final NodeId srcNodeId, final NodeId beforeNodeId)
throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.reorderNodes(parentId, srcNodeId, beforeNodeId);
return null;
}}, "reorderNodes(NodeId, NodeId, NodeId)", new Object[]{parentId, srcNodeId, beforeNodeId});
}
public void setMixins(final NodeId nodeId, final Name[] mixinNodeTypeNames) throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.setMixins(nodeId, mixinNodeTypeNames);
return null;
}}, "setMixins(NodeId, Name[])", new Object[]{nodeId, mixinNodeTypeNames});
}
public void setPrimaryType(final NodeId nodeId, final Name primaryNodeTypeName) throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.setPrimaryType(nodeId, primaryNodeTypeName);
return null;
}}, "setPrimaryType(NodeId, Name)", new Object[]{nodeId, primaryNodeTypeName});
}
public void move(final NodeId srcNodeId, final NodeId destParentNodeId, final Name destName)
throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.move(srcNodeId, destParentNodeId, destName);
return null;
}}, "move(NodeId, NodeId, Name)", new Object[]{srcNodeId, destParentNodeId, destName});
}
@Override
public void setTree(final NodeId parentId, final Tree contentTree)
throws RepositoryException {
execute(new Callable() {
public Object call() throws RepositoryException {
batch.setTree(parentId, contentTree);
return null;
}}, "setTree(NodeId, Tree)", new Object[]{parentId, contentTree});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy