/* * $Id: AbstractSlideStore.java,v 1.3 2006/04/09 11:44:15 laddi Exp $ * Created on Jun 27, 2005 in project com.idega.slide * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package com.idega.slide.store; import java.util.Enumeration; import java.util.Hashtable; import javax.transaction.xa.XAException; import javax.transaction.xa.XAResource; import javax.transaction.xa.Xid; import org.apache.slide.authenticate.CredentialsToken; import org.apache.slide.common.Namespace; import org.apache.slide.common.NamespaceAccessToken; import org.apache.slide.common.Scope; import org.apache.slide.common.Service; import org.apache.slide.common.ServiceAccessException; import org.apache.slide.common.ServiceConnectionFailedException; import org.apache.slide.common.ServiceDisconnectionFailedException; import org.apache.slide.common.ServiceInitializationFailedException; import org.apache.slide.common.ServiceParameterErrorException; import org.apache.slide.common.ServiceParameterMissingException; import org.apache.slide.common.ServiceResetFailedException; import org.apache.slide.common.Uri; import org.apache.slide.content.NodeRevisionContent; import org.apache.slide.content.NodeRevisionDescriptor; import org.apache.slide.content.NodeRevisionDescriptors; import org.apache.slide.content.NodeRevisionNumber; import org.apache.slide.content.RevisionAlreadyExistException; import org.apache.slide.content.RevisionDescriptorNotFoundException; import org.apache.slide.content.RevisionNotFoundException; import org.apache.slide.lock.LockTokenNotFoundException; import org.apache.slide.lock.NodeLock; import org.apache.slide.search.basic.IBasicExpressionFactory; import org.apache.slide.search.basic.IBasicExpressionFactoryProvider; import org.apache.slide.security.NodePermission; import org.apache.slide.store.ContentStore; import org.apache.slide.store.LockStore; import org.apache.slide.store.NodeStore; import org.apache.slide.store.RevisionDescriptorStore; import org.apache.slide.store.RevisionDescriptorsStore; import org.apache.slide.store.SecurityStore; import org.apache.slide.store.SequenceStore; import org.apache.slide.structure.ObjectAlreadyExistsException; import org.apache.slide.structure.ObjectNode; import org.apache.slide.structure.ObjectNotFoundException; import org.apache.slide.util.logger.Logger; /** * <p> * Simple wrapper class around the standard Slide Store interfaces * </p> * Last modified: $Date: 2006/04/09 11:44:15 $ by $Author: laddi $ * * @author <a href="mailto:tryggvil@idega.com">tryggvil</a> * @version $Revision: 1.3 $ */ public class AbstractSlideStore implements Service,NodeStore,ContentStore,LockStore,RevisionDescriptorsStore,RevisionDescriptorStore, SecurityStore,SequenceStore,IBasicExpressionFactoryProvider{ //private Hashtable _parameters = new Hashtable(); private Service service; private NodeStore nodeStore; private ContentStore contentStore; private LockStore lockStore; private RevisionDescriptorsStore revisionDescriptorsStore; private RevisionDescriptorStore revisionDescriptorStore; private SecurityStore securityStore; private SequenceStore sequenceStore; private IBasicExpressionFactoryProvider ibasicExpressionFactoryProvider; /** * */ public AbstractSlideStore() { } /** * @return Returns the contentStore. */ protected ContentStore getContentStore() { if(this.contentStore==null){ throw new RuntimeException(this.getClass().getName()+": ContentStore instance it not set"); } return this.contentStore; } /** * @param contentStore The contentStore to set. */ protected void setContentStore(ContentStore contentStore) { this.contentStore = contentStore; } /** * @return Returns the lockStore. */ protected LockStore getLockStore() { if(this.lockStore==null){ throw new RuntimeException(this.getClass().getName()+": LockStore instance it not set"); } return this.lockStore; } /** * @param lockStore The lockStore to set. */ protected void setLockStore(LockStore lockStore) { this.lockStore = lockStore; } /** * @return Returns the nodeStore. */ protected NodeStore getNodeStore() { if(this.nodeStore==null){ throw new RuntimeException(this.getClass().getName()+": NodeStore instance it not set"); } return this.nodeStore; } /** * @param nodeStore The nodeStore to set. */ protected void setNodeStore(NodeStore nodeStore) { this.nodeStore = nodeStore; } /** * @return Returns the revisionDescriptorsStore. */ protected RevisionDescriptorsStore getRevisionDescriptorsStore() { if(this.revisionDescriptorsStore==null){ throw new RuntimeException(this.getClass().getName()+": RevisionDescriptorsStore instance it not set"); } return this.revisionDescriptorsStore; } /** * @param revisionDescriptorsStore The revisionDescriptorsStore to set. */ protected void setRevisionDescriptorsStore(RevisionDescriptorsStore revisionDescriptorsStore) { this.revisionDescriptorsStore = revisionDescriptorsStore; } /** * @return Returns the revisionDescriptorStore. */ protected RevisionDescriptorStore getRevisionDescriptorStore() { if(this.revisionDescriptorStore==null){ throw new RuntimeException(this.getClass().getName()+": RevisionDescriptorStore instance it not set"); } return this.revisionDescriptorStore; } /** * @param revisionDescriptorStore The revisionDescriptorStore to set. */ protected void setRevisionDescriptorStore(RevisionDescriptorStore revisionDescriptorStore) { this.revisionDescriptorStore = revisionDescriptorStore; } /** * @return Returns the service. */ protected Service getService() { if(this.service==null){ throw new RuntimeException(this.getClass().getName()+": Service instance it not set"); } return this.service; } /** * @param service The service to set. */ protected void setService(Service service) { this.service = service; } /** * @return Returns the ibasicExpressionFactoryProvider. */ protected IBasicExpressionFactoryProvider getIbasicExpressionFactoryProvider() { if(this.ibasicExpressionFactoryProvider==null){ throw new RuntimeException(this.getClass().getName()+": IBasicExpressionFactoryProvider instance it not set"); } return this.ibasicExpressionFactoryProvider; } /** * @param ibasicExpressionFactoryProvider The ibasicExpressionFactoryProvider to set. */ protected void setIbasicExpressionFactoryProvider(IBasicExpressionFactoryProvider ibasicExpressionFactoryProvider) { this.ibasicExpressionFactoryProvider = ibasicExpressionFactoryProvider; } /** * @return Returns the securityStore. */ protected SecurityStore getSecurityStore() { if(this.securityStore==null){ throw new RuntimeException(this.getClass().getName()+": SecurityStore instance it not set"); } return this.securityStore; } /** * @param securityStore The securityStore to set. */ protected void setSecurityStore(SecurityStore securityStore) { this.securityStore = securityStore; } /** * @return Returns the sequenceStore. */ protected SequenceStore getSequenceStore() { if(this.sequenceStore==null){ throw new RuntimeException(this.getClass().getName()+": SequenceyStore instance it not set"); } return this.sequenceStore; } /** * @param sequenceStore The sequenceStore to set. */ protected void setSequenceStore(SequenceStore sequenceStore) { this.sequenceStore = sequenceStore; } /* (non-Javadoc) * @see org.apache.slide.store.ContentStore#createRevisionContent(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptor, org.apache.slide.content.NodeRevisionContent) */ public void createRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeRevisionContent revisionContent) throws ServiceAccessException, RevisionAlreadyExistException { this.contentStore.createRevisionContent(uri, revisionDescriptor, revisionContent); } /* (non-Javadoc) * @see org.apache.slide.store.ContentStore#removeRevisionContent(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptor) */ public void removeRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor) throws ServiceAccessException { this.contentStore.removeRevisionContent(uri, revisionDescriptor); } /* (non-Javadoc) * @see org.apache.slide.store.ContentStore#retrieveRevisionContent(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptor) */ public NodeRevisionContent retrieveRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor) throws ServiceAccessException, RevisionNotFoundException { return this.contentStore.retrieveRevisionContent(uri, revisionDescriptor); } /* (non-Javadoc) * @see org.apache.slide.store.ContentStore#storeRevisionContent(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptor, org.apache.slide.content.NodeRevisionContent) */ public void storeRevisionContent(Uri uri, NodeRevisionDescriptor revisionDescriptor, NodeRevisionContent revisionContent) throws ServiceAccessException, RevisionNotFoundException { this.contentStore.storeRevisionContent(uri, revisionDescriptor, revisionContent); } /* (non-Javadoc) * @see org.apache.slide.store.LockStore#enumerateLocks(org.apache.slide.common.Uri) */ public Enumeration enumerateLocks(Uri uri) throws ServiceAccessException { return this.lockStore.enumerateLocks(uri); } /* (non-Javadoc) * @see org.apache.slide.store.LockStore#killLock(org.apache.slide.common.Uri, org.apache.slide.lock.NodeLock) */ public void killLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException { this.lockStore.killLock(uri, lock); } /* (non-Javadoc) * @see org.apache.slide.store.LockStore#putLock(org.apache.slide.common.Uri, org.apache.slide.lock.NodeLock) */ public void putLock(Uri uri, NodeLock lock) throws ServiceAccessException { this.lockStore.putLock(uri, lock); } /* (non-Javadoc) * @see org.apache.slide.store.LockStore#removeLock(org.apache.slide.common.Uri, org.apache.slide.lock.NodeLock) */ public void removeLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException { this.lockStore.removeLock(uri, lock); } /* (non-Javadoc) * @see org.apache.slide.store.LockStore#renewLock(org.apache.slide.common.Uri, org.apache.slide.lock.NodeLock) */ public void renewLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException { this.lockStore.renewLock(uri, lock); } /* (non-Javadoc) * @see org.apache.slide.store.NodeStore#createObject(org.apache.slide.common.Uri, org.apache.slide.structure.ObjectNode) */ public void createObject(Uri uri, ObjectNode object) throws ServiceAccessException, ObjectAlreadyExistsException { getNodeStore().createObject(uri, object); } /* (non-Javadoc) * @see org.apache.slide.store.NodeStore#removeObject(org.apache.slide.common.Uri, org.apache.slide.structure.ObjectNode) */ public void removeObject(Uri uri, ObjectNode object) throws ServiceAccessException, ObjectNotFoundException { getNodeStore().removeObject(uri, object); } /* (non-Javadoc) * @see org.apache.slide.store.NodeStore#retrieveObject(org.apache.slide.common.Uri) */ public ObjectNode retrieveObject(Uri uri) throws ServiceAccessException, ObjectNotFoundException { return getNodeStore().retrieveObject(uri); } /* (non-Javadoc) * @see org.apache.slide.store.NodeStore#storeObject(org.apache.slide.common.Uri, org.apache.slide.structure.ObjectNode) */ public void storeObject(Uri uri, ObjectNode object) throws ServiceAccessException, ObjectNotFoundException { getNodeStore().storeObject(uri, object); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorsStore#createRevisionDescriptors(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptors) */ public void createRevisionDescriptors(Uri uri, NodeRevisionDescriptors revisionDescriptors) throws ServiceAccessException { getRevisionDescriptorsStore().createRevisionDescriptors(uri, revisionDescriptors); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorsStore#removeRevisionDescriptors(org.apache.slide.common.Uri) */ public void removeRevisionDescriptors(Uri uri) throws ServiceAccessException { getRevisionDescriptorsStore().removeRevisionDescriptors(uri); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorsStore#retrieveRevisionDescriptors(org.apache.slide.common.Uri) */ public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri) throws ServiceAccessException, RevisionDescriptorNotFoundException { return getRevisionDescriptorsStore().retrieveRevisionDescriptors(uri); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorsStore#storeRevisionDescriptors(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptors) */ public void storeRevisionDescriptors(Uri uri, NodeRevisionDescriptors revisionDescriptors) throws ServiceAccessException, RevisionDescriptorNotFoundException { getRevisionDescriptorsStore().storeRevisionDescriptors(uri, revisionDescriptors); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorStore#createRevisionDescriptor(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptor) */ public void createRevisionDescriptor(Uri uri, NodeRevisionDescriptor revisionDescriptor) throws ServiceAccessException { getRevisionDescriptorStore().createRevisionDescriptor(uri, revisionDescriptor); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorStore#retrieveRevisionDescriptor(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionNumber) */ public NodeRevisionDescriptor retrieveRevisionDescriptor(Uri uri, NodeRevisionNumber revisionNumber) throws ServiceAccessException, RevisionDescriptorNotFoundException { return getRevisionDescriptorStore().retrieveRevisionDescriptor(uri, revisionNumber); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorStore#storeRevisionDescriptor(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionDescriptor) */ public void storeRevisionDescriptor(Uri uri, NodeRevisionDescriptor revisionDescriptor) throws ServiceAccessException, RevisionDescriptorNotFoundException { getRevisionDescriptorStore().storeRevisionDescriptor(uri, revisionDescriptor); } /* (non-Javadoc) * @see org.apache.slide.store.RevisionDescriptorStore#removeRevisionDescriptor(org.apache.slide.common.Uri, org.apache.slide.content.NodeRevisionNumber) */ public void removeRevisionDescriptor(Uri uri, NodeRevisionNumber revisionNumber) throws ServiceAccessException { getRevisionDescriptorStore().removeRevisionDescriptor(uri,revisionNumber); } /* (non-Javadoc) * @see org.apache.slide.common.Service#cacheResults() */ public boolean cacheResults() { return getService().cacheResults(); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#commit(javax.transaction.xa.Xid, boolean) */ public void commit(Xid arg0, boolean arg1) throws XAException { getService().commit(arg0, arg1); } /* (non-Javadoc) * @see org.apache.slide.common.Service#connect() */ public void connect() throws ServiceConnectionFailedException { getService().connect(); } /* (non-Javadoc) * @see org.apache.slide.common.Service#connect(org.apache.slide.authenticate.CredentialsToken) */ public void connect(CredentialsToken crdtoken) throws ServiceConnectionFailedException { getService().connect(crdtoken); } /* (non-Javadoc) * @see org.apache.slide.common.Service#connectIfNeeded() */ public boolean connectIfNeeded() throws ServiceConnectionFailedException, ServiceAccessException { return getService().connectIfNeeded(); } /* (non-Javadoc) * @see org.apache.slide.common.Service#connectIfNeeded(org.apache.slide.authenticate.CredentialsToken) */ public boolean connectIfNeeded(CredentialsToken crdtoken) throws ServiceConnectionFailedException, ServiceAccessException { return getService().connectIfNeeded(crdtoken); } /* (non-Javadoc) * @see org.apache.slide.common.Service#disconnect() */ public void disconnect() throws ServiceDisconnectionFailedException { getService().disconnect(); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#end(javax.transaction.xa.Xid, int) */ public void end(Xid arg0, int arg1) throws XAException { getService().end(arg0, arg1); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#forget(javax.transaction.xa.Xid) */ public void forget(Xid arg0) throws XAException { getService().forget(arg0); } /* (non-Javadoc) * @see org.apache.slide.common.Service#getLogger() */ public Logger getLogger() { return getService().getLogger(); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#getTransactionTimeout() */ public int getTransactionTimeout() throws XAException { return getService().getTransactionTimeout(); } /* (non-Javadoc) * @see org.apache.slide.common.Service#initialize(org.apache.slide.common.NamespaceAccessToken) */ public void initialize(NamespaceAccessToken token) throws ServiceInitializationFailedException { getService().initialize(token); } /* (non-Javadoc) * @see org.apache.slide.common.Service#isConnected() */ public boolean isConnected() throws ServiceAccessException { return getService().isConnected(); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#isSameRM(javax.transaction.xa.XAResource) */ public boolean isSameRM(XAResource arg0) throws XAException { return getService().isSameRM(arg0); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#prepare(javax.transaction.xa.Xid) */ public int prepare(Xid arg0) throws XAException { return getService().prepare(arg0); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#recover(int) */ public Xid[] recover(int arg0) throws XAException { return getService().recover(arg0); } /* (non-Javadoc) * @see org.apache.slide.common.Service#reset() */ public void reset() throws ServiceResetFailedException { getService().reset(); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#rollback(javax.transaction.xa.Xid) */ public void rollback(Xid arg0) throws XAException { getService().rollback(arg0); } /* (non-Javadoc) * @see org.apache.slide.common.Service#setNamespace(org.apache.slide.common.Namespace) */ public void setNamespace(Namespace namespace) { getService().setNamespace(namespace); } /* (non-Javadoc) * @see org.apache.slide.common.Service#setParameters(java.util.Hashtable) */ public void setParameters(Hashtable parameters) throws ServiceParameterErrorException, ServiceParameterMissingException { getService().setParameters(parameters); } /* (non-Javadoc) * @see org.apache.slide.common.Service#setScope(org.apache.slide.common.Scope) */ public void setScope(Scope scope) { getService().setScope(scope); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#setTransactionTimeout(int) */ public boolean setTransactionTimeout(int arg0) throws XAException { return getService().setTransactionTimeout(arg0); } /* (non-Javadoc) * @see javax.transaction.xa.XAResource#start(javax.transaction.xa.Xid, int) */ public void start(Xid arg0, int arg1) throws XAException { getService().start(arg0, arg1); } /* (non-Javadoc) * @see org.apache.slide.search.basic.IBasicExpressionFactoryProvider#getBasicExpressionFactory() */ public IBasicExpressionFactory getBasicExpressionFactory() { return getIbasicExpressionFactoryProvider().getBasicExpressionFactory(); } /* (non-Javadoc) * @see org.apache.slide.store.SecurityStore#grantPermission(org.apache.slide.common.Uri, org.apache.slide.security.NodePermission) */ public void grantPermission(Uri uri, NodePermission permission) throws ServiceAccessException { getSecurityStore().grantPermission(uri, permission); } /* (non-Javadoc) * @see org.apache.slide.store.SecurityStore#revokePermission(org.apache.slide.common.Uri, org.apache.slide.security.NodePermission) */ public void revokePermission(Uri uri, NodePermission permission) throws ServiceAccessException { getSecurityStore().revokePermission(uri, permission); } /* (non-Javadoc) * @see org.apache.slide.store.SecurityStore#revokePermissions(org.apache.slide.common.Uri) */ public void revokePermissions(Uri uri) throws ServiceAccessException { getSecurityStore().revokePermissions(uri); } /* (non-Javadoc) * @see org.apache.slide.store.SecurityStore#enumeratePermissions(org.apache.slide.common.Uri) */ public Enumeration enumeratePermissions(Uri uri) throws ServiceAccessException { return getSecurityStore().enumeratePermissions(uri); } /* (non-Javadoc) * @see org.apache.slide.store.SequenceStore#createSequence(java.lang.String) */ public boolean createSequence(String sequenceName) throws ServiceAccessException { return getSequenceStore().createSequence(sequenceName); } /* (non-Javadoc) * @see org.apache.slide.store.SequenceStore#isSequenceSupported() */ public boolean isSequenceSupported() { return getSequenceStore().isSequenceSupported(); } /* (non-Javadoc) * @see org.apache.slide.store.SequenceStore#nextSequenceValue(java.lang.String) */ public long nextSequenceValue(String sequenceName) throws ServiceAccessException { return getSequenceStore().nextSequenceValue(sequenceName); } /* (non-Javadoc) * @see org.apache.slide.store.SequenceStore#sequenceExists(java.lang.String) */ public boolean sequenceExists(String sequenceName) throws ServiceAccessException { return getSequenceStore().sequenceExists(sequenceName); } }