org.apache.jackrabbit.spi.commons.AbstractRepositoryService Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aem-sdk-api Show documentation
Show all versions of aem-sdk-api Show documentation
The Adobe Experience Manager SDK
/*
* 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;
import java.io.InputStream;
import java.io.Reader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.jcr.AccessDeniedException;
import javax.jcr.Credentials;
import javax.jcr.GuestCredentials;
import javax.jcr.InvalidItemStateException;
import javax.jcr.ItemExistsException;
import javax.jcr.ItemNotFoundException;
import javax.jcr.LoginException;
import javax.jcr.MergeException;
import javax.jcr.NamespaceException;
import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.PathNotFoundException;
import javax.jcr.PropertyType;
import javax.jcr.ReferentialIntegrityException;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.SimpleCredentials;
import javax.jcr.UnsupportedRepositoryOperationException;
import javax.jcr.ValueFormatException;
import javax.jcr.lock.LockException;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.nodetype.InvalidNodeTypeDefinitionException;
import javax.jcr.nodetype.NoSuchNodeTypeException;
import javax.jcr.nodetype.NodeTypeExistsException;
import javax.jcr.query.InvalidQueryException;
import javax.jcr.version.VersionException;
import org.apache.jackrabbit.commons.cnd.CompactNodeTypeDefReader;
import org.apache.jackrabbit.commons.cnd.ParseException;
import org.apache.jackrabbit.spi.Batch;
import org.apache.jackrabbit.spi.EventBundle;
import org.apache.jackrabbit.spi.EventFilter;
import org.apache.jackrabbit.spi.IdFactory;
import org.apache.jackrabbit.spi.ItemId;
import org.apache.jackrabbit.spi.LockInfo;
import org.apache.jackrabbit.spi.Name;
import org.apache.jackrabbit.spi.NameFactory;
import org.apache.jackrabbit.spi.NodeId;
import org.apache.jackrabbit.spi.Path;
import org.apache.jackrabbit.spi.PathFactory;
import org.apache.jackrabbit.spi.PropertyId;
import org.apache.jackrabbit.spi.QNodeDefinition;
import org.apache.jackrabbit.spi.QNodeTypeDefinition;
import org.apache.jackrabbit.spi.QPropertyDefinition;
import org.apache.jackrabbit.spi.QValue;
import org.apache.jackrabbit.spi.QValueFactory;
import org.apache.jackrabbit.spi.QueryInfo;
import org.apache.jackrabbit.spi.RepositoryService;
import org.apache.jackrabbit.spi.SessionInfo;
import org.apache.jackrabbit.spi.Subscription;
import org.apache.jackrabbit.spi.Tree;
import org.apache.jackrabbit.spi.commons.identifier.IdFactoryImpl;
import org.apache.jackrabbit.spi.commons.name.NameFactoryImpl;
import org.apache.jackrabbit.spi.commons.name.PathFactoryImpl;
import org.apache.jackrabbit.spi.commons.namespace.NamespaceMapping;
import org.apache.jackrabbit.spi.commons.nodetype.NodeTypeStorage;
import org.apache.jackrabbit.spi.commons.nodetype.NodeTypeStorageImpl;
import org.apache.jackrabbit.spi.commons.nodetype.QDefinitionBuilderFactory;
import org.apache.jackrabbit.spi.commons.value.QValueFactoryImpl;
/**
* AbstractRepositoryService
provides an abstract base class for
* repository service implementations. This class provides default
* implementations for the following methods:
*
* - {@link #getIdFactory()}
* - {@link #getNameFactory()}
* - {@link #getPathFactory()}
* - {@link #getQValueFactory()}
*
*/
public abstract class AbstractRepositoryService implements RepositoryService {
/**
* The repository descriptors.
*/
protected final Map descriptors = new HashMap();
/**
* The fixed set of namespaces known to the repository service.
*/
protected final NamespaceMapping namespaces = new NamespaceMapping();
/**
* The fixed set of node type definitions known to the repository service.
*/
protected final NodeTypeStorage nodeTypeDefs = new NodeTypeStorageImpl();
/**
* The node definition of the root node.
*/
protected QNodeDefinition rootNodeDefinition;
/**
* @return {@link IdFactoryImpl#getInstance()}.
* @throws RepositoryException if an error occurs.
*/
public IdFactory getIdFactory() throws RepositoryException {
return IdFactoryImpl.getInstance();
}
/**
* @return {@link NameFactoryImpl#getInstance()}.
* @throws RepositoryException if an error occurs.
*/
public NameFactory getNameFactory() throws RepositoryException {
return NameFactoryImpl.getInstance();
}
/**
* @return {@link PathFactoryImpl#getInstance()}.
* @throws RepositoryException if an error occurs.
*/
public PathFactory getPathFactory() throws RepositoryException {
return PathFactoryImpl.getInstance();
}
/**
* @return {@link QValueFactoryImpl#getInstance()}.
* @throws RepositoryException if an error occurs.
*/
public QValueFactory getQValueFactory() throws RepositoryException {
return QValueFactoryImpl.getInstance();
}
protected AbstractRepositoryService() throws RepositoryException {
QValueFactory qvf = QValueFactoryImpl.getInstance();
QValue[] vFalse = new QValue[] {qvf.create(false)};
descriptors.put(Repository.WRITE_SUPPORTED, vFalse);
descriptors.put(Repository.IDENTIFIER_STABILITY,
new QValue[] {qvf.create(Repository.IDENTIFIER_STABILITY_SAVE_DURATION, PropertyType.STRING)});
descriptors.put(Repository.OPTION_XML_IMPORT_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_XML_EXPORT_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_UNFILED_CONTENT_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_VERSIONING_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_SIMPLE_VERSIONING_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_ACCESS_CONTROL_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_LOCKING_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_OBSERVATION_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_JOURNALED_OBSERVATION_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_RETENTION_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_LIFECYCLE_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_TRANSACTIONS_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_WORKSPACE_MANAGEMENT_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_UPDATE_PRIMARY_NODE_TYPE_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_UPDATE_MIXIN_NODE_TYPES_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_SHAREABLE_NODES_SUPPORTED, vFalse);
descriptors.put(Repository.OPTION_NODE_TYPE_MANAGEMENT_SUPPORTED, vFalse);
descriptors.put(Repository.QUERY_LANGUAGES, new QValue[0]);
descriptors.put(Repository.QUERY_STORED_QUERIES_SUPPORTED, vFalse);
descriptors.put(Repository.QUERY_FULL_TEXT_SEARCH_SUPPORTED, vFalse);
descriptors.put(Repository.QUERY_JOINS,
new QValue[] {qvf.create(Repository.QUERY_JOINS_NONE, PropertyType.STRING)});
descriptors.putAll(descriptors);
}
public AbstractRepositoryService(Map descriptors,
Map namespaces,
QNodeTypeDefinition[] nodeTypeDefs)
throws RepositoryException {
this();
this.descriptors.putAll(descriptors);
for (Map.Entry entry : namespaces.entrySet()) {
this.namespaces.setMapping(entry.getKey(), entry.getValue());
}
this.nodeTypeDefs.registerNodeTypes(nodeTypeDefs, true);
}
public AbstractRepositoryService(Map descriptors,
Map namespaces,
Reader cnd)
throws RepositoryException {
this();
this.descriptors.putAll(descriptors);
for (Map.Entry entry : namespaces.entrySet()) {
this.namespaces.setMapping(entry.getKey(), entry.getValue());
}
CompactNodeTypeDefReader reader;
try {
reader = new CompactNodeTypeDefReader(cnd, "",
this.namespaces, new QDefinitionBuilderFactory());
List ntds = reader.getNodeTypeDefinitions();
nodeTypeDefs.registerNodeTypes(ntds.toArray(new QNodeTypeDefinition[ntds.size()]), true);
}
catch (ParseException e) {
throw new RepositoryException("Error reading node type definitions", e);
}
}
//---------------------------< subclass responsibility >--------------------
/**
* Create the root node definition.
* @param sessionInfo the session info.
* @return the root node definition for a workspace.
* @throws RepositoryException if an error occurs.
*/
protected abstract QNodeDefinition createRootNodeDefinition(SessionInfo sessionInfo)
throws RepositoryException;
//---------------------< may be overwritten by subclasses>------------------
/**
* Checks if the given credentials
are valid. This default
* implementation is empty thus allowing all credentials.
*
* @param credentials the credentials to check.
* @param workspaceName the workspace to access.
* @throws LoginException if the credentials are invalid.
*/
protected void checkCredentials(Credentials credentials, String workspaceName) throws LoginException {
// empty
}
/**
* Checks if the given workspace is available. The default implementation is empty
* thus admitting every workspace name.
* @param workspaceName Name of the workspace to check
* @throws NoSuchWorkspaceException If workspaceName
is not available.
*/
protected void checkWorkspace(String workspaceName) throws NoSuchWorkspaceException {
// empty
}
/**
* Creates a session info instance for the given credentials
and
* workspaceName
. This default implementation creates a
* {@link SessionInfoImpl} instance and sets the userId
and
* workspaceName. The user userId
is null
or the
* userId
from credentials
if it is of type
* {@link SimpleCredentials}.
*
* @param credentials the credentials.
* @param workspaceName the name of the workspace to access or null
* for the default workspace.
* @return a session info instance for the given credentials
and
* workspaceName
.
* @throws RepositoryException
*/
protected SessionInfo createSessionInfo(Credentials credentials, String workspaceName)
throws RepositoryException {
String userId = null;
if (credentials instanceof SimpleCredentials) {
userId = ((SimpleCredentials) credentials).getUserID();
}
else if (credentials instanceof GuestCredentials) {
userId = "anonymous";
}
SessionInfoImpl s = new SessionInfoImpl();
s.setUserID(userId);
s.setWorkspacename(workspaceName);
return s;
}
/**
* Creates a session info instance for the given sessionInfo
and
* workspaceName
. This default implementation creates a
* {@link SessionInfoImpl} instance and sets the userId
and
* workspaceName. The user userId
is set to the return value of
* {@link SessionInfo#getUserID()}.
*
* @param sessionInfo the sessionInfo.
* @param workspaceName the name of the workspace to access.
* @return a session info instance for the given credentials
and
* workspaceName
.
* @throws RepositoryException
*/
protected SessionInfo createSessionInfo(SessionInfo sessionInfo, String workspaceName)
throws RepositoryException {
String userId = sessionInfo.getUserID();
SessionInfoImpl s = new SessionInfoImpl();
s.setUserID(userId);
s.setWorkspacename(workspaceName);
return s;
}
/**
* Checks the type of the sessionInfo
instance. This default
* implementation checks if sessionInfo
is of type
* {@link SessionInfoImpl}, otherwise throws a {@link RepositoryException}.
*
* @param sessionInfo the session info to check.
* @throws RepositoryException if the given sessionInfo
is not
* of the required type for this repository
* service implementation.
*/
protected void checkSessionInfo(SessionInfo sessionInfo)
throws RepositoryException {
if (sessionInfo instanceof SessionInfoImpl) {
return;
}
throw new RepositoryException("SessionInfo not of type "
+ SessionInfoImpl.class.getName());
}
//--------------------------< descriptors >---------------------------------
/**
* This default implementation returns the descriptors that were passed
* to the constructor of this repository service.
*/
public Map getRepositoryDescriptors() throws RepositoryException {
return descriptors;
}
//----------------------------< login >-------------------------------------
/**
* This default implementation does:
*
* - calls {@link #checkCredentials(Credentials, String)}
* - calls {@link #checkWorkspace(String)}
* - calls {@link #createSessionInfo(Credentials, String)}
*
* @param credentials the credentials for the login.
* @param workspaceName the name of the workspace to log in.
* @return the session info.
* @throws LoginException if the credentials are invalid.
* @throws NoSuchWorkspaceException if workspaceName
is unknown.
* @throws RepositoryException if another error occurs.
*/
public SessionInfo obtain(Credentials credentials, String workspaceName)
throws LoginException, NoSuchWorkspaceException, RepositoryException {
checkCredentials(credentials, workspaceName);
checkWorkspace(workspaceName);
return createSessionInfo(credentials, workspaceName);
}
/**
* This default implementation returns the session info returned by the call
* to {@link #createSessionInfo(SessionInfo, String)}.
*/
public SessionInfo obtain(SessionInfo sessionInfo, String workspaceName)
throws LoginException, NoSuchWorkspaceException, RepositoryException {
return createSessionInfo(sessionInfo, workspaceName);
}
/**
* This default implementation returns the session info returned by the call
* to {@link #obtain(Credentials, String)} with the workspaceName taken from
* the passed sessionInfo
.
*/
public SessionInfo impersonate(SessionInfo sessionInfo, Credentials credentials)
throws LoginException, RepositoryException {
return obtain(credentials, sessionInfo.getWorkspaceName());
}
/**
* This default implementation does nothing.
*/
public void dispose(SessionInfo sessionInfo) throws RepositoryException {
// do nothing
}
//-----------------------------< node types >-------------------------------
/**
* This default implementation first calls {@link #checkSessionInfo(SessionInfo)}
* with the sessionInfo
,
*/
public Iterator getQNodeTypeDefinitions(SessionInfo sessionInfo) throws
RepositoryException {
checkSessionInfo(sessionInfo);
return nodeTypeDefs.getAllDefinitions();
}
/**
* This default implementation first calls {@link #checkSessionInfo(SessionInfo)}
* with the sessionInfo
, then gathers the {@link QNodeTypeDefinition}s
* with the given nodetypeNames
. If one of the nodetypeNames
* is not a valid node type definition then a {@link RepositoryException}
* is thrown.
*/
public Iterator getQNodeTypeDefinitions(SessionInfo sessionInfo, Name[] nodetypeNames)
throws RepositoryException {
checkSessionInfo(sessionInfo);
return nodeTypeDefs.getDefinitions(nodetypeNames);
}
/**
* This default implementation first calls {@link #checkSessionInfo(SessionInfo)}
* with the sessionInfo
, then lazily initializes {@link #rootNodeDefinition}
* if nodeId
denotes the root node; otherwise throws a
* {@link UnsupportedRepositoryOperationException}.
*/
public QNodeDefinition getNodeDefinition(SessionInfo sessionInfo,
NodeId nodeId)
throws RepositoryException {
checkSessionInfo(sessionInfo);
if (nodeId.getUniqueID() == null && nodeId.getPath().denotesRoot()) {
synchronized (this) {
if (rootNodeDefinition == null) {
rootNodeDefinition = createRootNodeDefinition(sessionInfo);
}
return rootNodeDefinition;
}
}
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public QPropertyDefinition getPropertyDefinition(SessionInfo sessionInfo,
PropertyId propertyId)
throws RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void registerNodeTypes(SessionInfo sessionInfo, QNodeTypeDefinition[] nodeTypeDefinitions, boolean allowUpdate) throws InvalidNodeTypeDefinitionException, NodeTypeExistsException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void unregisterNodeTypes(SessionInfo sessionInfo, Name[] nodeTypeNames) throws UnsupportedRepositoryOperationException, NoSuchNodeTypeException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
//-----------------------------< namespaces >-------------------------------
/**
* This default implementation first calls {@link #checkSessionInfo(SessionInfo)}
* with the sessionInfo
, then returns the prefix to namespace
* URL mapping that was provided in the constructor of this repository
* service.
*/
public Map getRegisteredNamespaces(SessionInfo sessionInfo) throws
RepositoryException {
checkSessionInfo(sessionInfo);
return namespaces.getPrefixToURIMapping();
}
/**
* This default implementation first calls {@link #checkSessionInfo(SessionInfo)}
* with the sessionInfo
, then returns the namespace URI for the
* given prefix
.
*/
public String getNamespaceURI(SessionInfo sessionInfo, String prefix)
throws NamespaceException, RepositoryException {
checkSessionInfo(sessionInfo);
return namespaces.getURI(prefix);
}
/**
* This default implementation first calls {@link #checkSessionInfo(SessionInfo)}
* with the sessionInfo
, then return the namespace prefix for
* the given uri
.
*/
public String getNamespacePrefix(SessionInfo sessionInfo, String uri)
throws NamespaceException, RepositoryException {
checkSessionInfo(sessionInfo);
return namespaces.getPrefix(uri);
}
//-----------------------------< write methods >----------------------------
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public Batch createBatch(SessionInfo sessionInfo, ItemId itemId)
throws RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void submit(Batch batch) throws PathNotFoundException, ItemNotFoundException, NoSuchNodeTypeException, ValueFormatException, VersionException, LockException, ConstraintViolationException, AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
@Override
public Tree createTree(SessionInfo sessionInfo, Batch batch, Name nodeName, Name primaryTypeName, String uniqueId) throws RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void importXml(SessionInfo sessionInfo,
NodeId parentId,
InputStream xmlStream,
int uuidBehaviour) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void move(SessionInfo sessionInfo,
NodeId srcNodeId,
NodeId destParentNodeId,
Name destName) throws ItemExistsException, PathNotFoundException, VersionException, ConstraintViolationException, LockException, AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void copy(SessionInfo sessionInfo,
String srcWorkspaceName,
NodeId srcNodeId,
NodeId destParentNodeId,
Name destName) throws NoSuchWorkspaceException, ConstraintViolationException, VersionException, AccessDeniedException, PathNotFoundException, ItemExistsException, LockException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void update(SessionInfo sessionInfo,
NodeId nodeId,
String srcWorkspaceName)
throws NoSuchWorkspaceException, AccessDeniedException, LockException, InvalidItemStateException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void clone(SessionInfo sessionInfo,
String srcWorkspaceName,
NodeId srcNodeId,
NodeId destParentNodeId,
Name destName,
boolean removeExisting) throws NoSuchWorkspaceException, ConstraintViolationException, VersionException, AccessDeniedException, PathNotFoundException, ItemExistsException, LockException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public LockInfo lock(SessionInfo sessionInfo,
NodeId nodeId,
boolean deep,
boolean sessionScoped)
throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public LockInfo lock(SessionInfo sessionInfo, NodeId nodeId, boolean deep,
boolean sessionScoped, long timeoutHint, String ownerHint)
throws UnsupportedRepositoryOperationException, LockException,
AccessDeniedException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @return null
.
*/
public LockInfo getLockInfo(SessionInfo sessionInfo, NodeId nodeId)
throws AccessDeniedException, RepositoryException {
return null;
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void refreshLock(SessionInfo sessionInfo, NodeId nodeId)
throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void unlock(SessionInfo sessionInfo, NodeId nodeId)
throws UnsupportedRepositoryOperationException, LockException, AccessDeniedException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public NodeId checkin(SessionInfo sessionInfo, NodeId nodeId)
throws VersionException, UnsupportedRepositoryOperationException, InvalidItemStateException, LockException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void checkout(SessionInfo sessionInfo, NodeId nodeId)
throws UnsupportedRepositoryOperationException, LockException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void checkout(SessionInfo sessionInfo, NodeId nodeId, NodeId activityId)
throws UnsupportedRepositoryOperationException, LockException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public NodeId checkpoint(SessionInfo sessionInfo, NodeId nodeId)
throws UnsupportedRepositoryOperationException, LockException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public NodeId checkpoint(SessionInfo sessionInfo, NodeId nodeId, NodeId activityId)
throws UnsupportedRepositoryOperationException, LockException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void removeVersion(SessionInfo sessionInfo,
NodeId versionHistoryId,
NodeId versionId)
throws ReferentialIntegrityException, AccessDeniedException, UnsupportedRepositoryOperationException, VersionException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void restore(SessionInfo sessionInfo,
NodeId nodeId,
NodeId versionId,
boolean removeExisting) throws VersionException, PathNotFoundException, ItemExistsException, UnsupportedRepositoryOperationException, LockException, InvalidItemStateException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void restore(SessionInfo sessionInfo,
NodeId[] versionIds,
boolean removeExisting) throws ItemExistsException, UnsupportedRepositoryOperationException, VersionException, LockException, InvalidItemStateException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException
* always.
*/
public Iterator merge(SessionInfo sessionInfo,
NodeId nodeId,
String srcWorkspaceName,
boolean bestEffort) throws
NoSuchWorkspaceException, AccessDeniedException, MergeException,
LockException, InvalidItemStateException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException
* always.
*/
public Iterator merge(SessionInfo sessionInfo,
NodeId nodeId,
String srcWorkspaceName,
boolean bestEffort,
boolean isShallow) throws
NoSuchWorkspaceException, AccessDeniedException, MergeException,
LockException, InvalidItemStateException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void resolveMergeConflict(SessionInfo sessionInfo,
NodeId nodeId,
NodeId[] mergeFailedIds,
NodeId[] predecessorIds)
throws VersionException, InvalidItemStateException, UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void addVersionLabel(SessionInfo sessionInfo,
NodeId versionHistoryId,
NodeId versionId,
Name label,
boolean moveLabel) throws VersionException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void removeVersionLabel(SessionInfo sessionInfo,
NodeId versionHistoryId,
NodeId versionId,
Name label) throws VersionException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public NodeId createActivity(SessionInfo sessionInfo, String title) throws UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void removeActivity(SessionInfo sessionInfo, NodeId activityId) throws UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public Iterator mergeActivity(SessionInfo sessionInfo, NodeId activityId) throws UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public NodeId createConfiguration(SessionInfo sessionInfo, NodeId nodeId) throws UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
//-----------------------------< observation >------------------------------
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public EventFilter createEventFilter(SessionInfo sessionInfo,
int eventTypes,
Path absPath,
boolean isDeep,
String[] uuid,
Name[] nodeTypeName,
boolean noLocal)
throws UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public Subscription createSubscription(SessionInfo sessionInfo,
EventFilter[] filters)
throws UnsupportedRepositoryOperationException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void updateEventFilters(Subscription subscription,
EventFilter[] filters)
throws RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public EventBundle[] getEvents(Subscription subscription, long timeout)
throws RepositoryException, InterruptedException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public EventBundle getEvents(SessionInfo sessionInfo, EventFilter filter,
long after) throws
RepositoryException, UnsupportedRepositoryOperationException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void dispose(Subscription subscription) throws RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
//-------------------------------------------------< namespace registry >---
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void registerNamespace(SessionInfo sessionInfo,
String prefix,
String uri) throws NamespaceException, UnsupportedRepositoryOperationException, AccessDeniedException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void unregisterNamespace(SessionInfo sessionInfo, String uri)
throws NamespaceException, UnsupportedRepositoryOperationException, AccessDeniedException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
//-----------------------------------------------< Workspace Management >---
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void createWorkspace(SessionInfo sessionInfo, String name, String srcWorkspaceName) throws AccessDeniedException, UnsupportedRepositoryOperationException, NoSuchWorkspaceException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
/**
* @throws UnsupportedRepositoryOperationException always.
*/
public void deleteWorkspace(SessionInfo sessionInfo, String name) throws AccessDeniedException, UnsupportedRepositoryOperationException, NoSuchWorkspaceException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
//-------------------------------< query >----------------------------------
public String[] getSupportedQueryLanguages(SessionInfo sessionInfo) throws RepositoryException {
checkSessionInfo(sessionInfo);
return new String[0];
}
public String[] checkQueryStatement(SessionInfo sessionInfo, String statement,
String language, Map namespaces) throws
InvalidQueryException, RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
public QueryInfo executeQuery(SessionInfo sessionInfo, String statement,
String language, Map namespaces, long limit,
long offset, Map values) throws RepositoryException {
throw new UnsupportedRepositoryOperationException();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy