package com.idega.slide.jcr; import javax.jcr.Credentials; import javax.jcr.LoginException; import javax.jcr.NoSuchWorkspaceException; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.Value; import javax.jcr.observation.ObservationManager; import javax.jcr.query.QueryManager; import org.apache.slide.common.NamespaceAccessToken; import org.apache.slide.content.Content; import org.apache.slide.security.Security; import org.apache.slide.structure.Structure; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import com.idega.slide.webdavservlet.DomainConfig; /** * <p> * Main implementation of the JCR Repository object to Slide * </p> * Last modified: $Date: 2009/01/06 15:17:20 $ by $Author: tryggvil $ * * @author <a href="mailto:tryggvil@idega.com">tryggvil</a> * @version $Revision: 1.4 $ */ @Scope("singleton") @Service(SlideRepository.SPRING_BEAN_IDENTIFIER) public class SlideRepository implements Repository { public static final String SPRING_BEAN_IDENTIFIER="slideRepository"; /*private boolean initialized; private NamespaceAccessToken namespace; private Structure structure; private Content content; private Security security; private URL configurationURL*/ private QueryManager defaultQueryManager; private ObservationManager defaultObservationManager; @Autowired protected DomainConfig domainConfig; public SlideRepository(){ //initialize(); } protected void initialize(){ getDomainConfig().initialize(); } /*public boolean isInitialized() { return initialized; } public void setInitialized(boolean initialized) { this.initialized = initialized; }*/ public NamespaceAccessToken getNamespace() { //return namespace; return getDomainConfig().getNamespace(); } /*public void setNamespace(NamespaceAccessToken namespace) { this.namespace = namespace; }*/ public Structure getStructure() { //return structure; return getDomainConfig().getStructure(); } /*public void setStructure(Structure structure) { this.structure = structure; }*/ public Content getContent() { //return content; return getDomainConfig().getContent(); } /*public void setContent(Content content) { this.content = content; }*/ public Security getSecurity() { //return security; return getDomainConfig().getSecurity(); } /*public void setSecurity(Security security) { this.security = security; }*/ public String getDescriptor(String arg0) { throw new UnsupportedOperationException("Method not implemented"); } public String[] getDescriptorKeys() { throw new UnsupportedOperationException("Method not implemented"); } public Session login() throws LoginException, RepositoryException { initialize(); Session session = new SlideSession(this,(String)null); return session; } public Session login(Credentials arg0) throws LoginException, RepositoryException { initialize(); Session session = new SlideSession(this,arg0); return session; } public Session login(String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException { initialize(); Session session = new SlideSession(this,workspaceName); return session; } public Session login(Credentials credentials, String workspaceName) throws LoginException, NoSuchWorkspaceException, RepositoryException { initialize(); Session session = new SlideSession(this,credentials,workspaceName); return session; } public DomainConfig getDomainConfig() { return domainConfig; } public void setDomainConfig(DomainConfig domainConfig) { this.domainConfig = domainConfig; } public QueryManager getDefaultQueryManager() { if(defaultQueryManager==null){ this.defaultQueryManager=new SlideQueryManager(this); } return defaultQueryManager; } public void setDefaultQueryManager(QueryManager defaultQueryManager) { this.defaultQueryManager = defaultQueryManager; } public ObservationManager getDefaultObservationManager() { if(defaultObservationManager==null){ defaultObservationManager = new SlideObservationManager(this); } return defaultObservationManager; } public void setDefaultObservationManager( ObservationManager defaultObservationManager) { this.defaultObservationManager = defaultObservationManager; } @Override public boolean isStandardDescriptor(String key) { // TODO Auto-generated method stub return false; } @Override public boolean isSingleValueDescriptor(String key) { // TODO Auto-generated method stub return false; } @Override public Value getDescriptorValue(String key) { // TODO Auto-generated method stub return null; } @Override public Value[] getDescriptorValues(String key) { // TODO Auto-generated method stub return null; } }