You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2009/02/09 19:49:21 UTC
svn commit: r742672 [1/6] - in /lenya/trunk:
org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/
org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/
org.apache.lenya.core.administration/src/main/java/org/apache/...
Author: andreas
Date: Mon Feb 9 18:49:13 2009
New Revision: 742672
URL: http://svn.apache.org/viewvc?rev=742672&view=rev
Log:
Simplify API, replace repository classes with publication classes for better SoC.
Added:
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/ResourceNotFoundException.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/UriHandler.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/UriHandlerImpl.java
Removed:
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentUtil.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/util/DocumentLanguagesHelper.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/repository/RepositoryUtil.java
Modified:
lenya/trunk/org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Login.java
lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Logout.java
lenya/trunk/org.apache.lenya.core.administration/src/main/java/org/apache/lenya/cms/ac/usecases/AccessControl.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/LanguageExistsAction.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/AbstractPageEnvelopeModule.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/DocumentInfoModule.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/FallbackModule.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/OperationModule.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/ResourceTypeModule.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/flow/FlowHelperImpl.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/AggregatingFallbackSourceFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/FallbackSourceFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaSourceFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/RepositorySource.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/SiteSourceFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Area.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Document.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentBuilder.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentFactoryBuilder.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentLocator.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentManager.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/PageEnvelope.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/PageEnvelopeFactory.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Publication.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Repository.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Session.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/util/DocumentHelper.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/util/DocumentSet.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/util/DocumentVisitor.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/util/LanguageVersions.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/repository/Node.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/repository/RepositoryItem.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/repository/SessionImpl.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/site/AbstractLink.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/site/AbstractSiteManager.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/site/SiteManager.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/site/SiteUtil.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/site/topicmap/TopicMapSiteManager.java
lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/workflow/DocumentWorkflowable.java
lenya/trunk/org.apache.lenya.core.impl/pom.xml
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/AreaImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentFactoryBuilderImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentFactoryImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/DocumentManagerImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/PublicationConfiguration.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/PublicationFactory.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/PublicationImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/PublicationManagerImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/RepositoryImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/main/java/org/apache/lenya/cms/publication/SessionImpl.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/ac/impl/AbstractAccessControlTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/LenyaTestCase.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/metadata/MetaDataTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentBuilderTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DefaultDocumentTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DocumentFactoryTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DocumentManagerTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/DublinCoreTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/PublicationTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/TestPageEnvelope.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/publication/file/FilePublicationTest.java
lenya/trunk/org.apache.lenya.core.impl/src/test/java/org/apache/lenya/cms/rc/RevisionControllerTest.java
lenya/trunk/org.apache.lenya.core.janitor/src/main/java/org/apache/lenya/cms/janitor/ContentJanitor.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/ProxyModule.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/UuidToUrlModule.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/source/DocumentSourceFactory.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/IncomingProxyTransformer.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkConverter.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolver.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolverImpl.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UrlToUuidRewriter.java
lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UuidToUrlRewriter.java
lenya/trunk/org.apache.lenya.core.metadata/src/main/java/org/apache/lenya/modules/metadata/MetaDataTransformer.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Clipboard.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Create.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/EmptyTrash.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Overview.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Paste.java
lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Restore.java
lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java
lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java
lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java
lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java
lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java
lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java
lenya/trunk/org.apache.lenya.module.collection/src/main/java/org/apache/lenya/modules/collection/CollectionWrapper.java
lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Import.java
lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Importer.java
lenya/trunk/org.apache.lenya.module.lenyadoc/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java
lenya/trunk/org.apache.lenya.module.linkcheck/src/main/java/org/apache/lenya/cms/cocoon/generation/LinkStatusGenerator.java
lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/cocoon/components/search/components/impl/IndexManagerImpl.java
lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexSite.java
lenya/trunk/org.apache.lenya.module.lucene/src/main/java/org/apache/lenya/cms/lucene/IndexUpdaterImpl.java
lenya/trunk/org.apache.lenya.module.menubar/src/main/java/org/apache/lenya/modules/menubar/MenuFilterTransformer.java
lenya/trunk/org.apache.lenya.module.navigation/src/main/java/org/apache/lenya/modules/navigation/SiteFragmentGenerator.java
lenya/trunk/org.apache.lenya.module.navigation/src/main/java/org/apache/lenya/modules/navigation/SiteMetaDataTransformer.java
lenya/trunk/org.apache.lenya.module.notification/src/main/java/org/apache/lenya/inbox/InboxModule.java
lenya/trunk/org.apache.lenya.module.simplesite/pom.xml
lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStore.java
lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/DocumentStoreFactory.java
lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/SimpleLink.java
lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/SimpleSiteManager.java
lenya/trunk/org.apache.lenya.module.simplesite/src/main/java/org/apache/lenya/cms/site/simple/SimpleSiteNode.java
lenya/trunk/org.apache.lenya.module.simplesite/src/test/java/org/apache/lenya/cms/site/simple/SimpleSiteManagerTest.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/cocoon/transformation/IconUrlTransformer.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree/DefaultSiteTree.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree/SiteTreeFactory.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree/SiteTreeLink.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree/SiteTreeNodeImpl.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree/TreeSiteManager.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/DelegatingLink.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/DelegatingSiteTree.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/SiteTreeFactory.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/SiteTreeImpl.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/SiteTreeLink.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/TreeNodeImpl.java
lenya/trunk/org.apache.lenya.module.sitetree/src/main/java/org/apache/lenya/cms/site/tree2/TreeSiteManager.java
lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNode.java
lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRCML.java
lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceNodeRevision.java
lenya/trunk/org.apache.lenya.module.sourcerepository/src/main/java/org/apache/lenya/cms/repository/SourceWrapper.java
lenya/trunk/org.apache.lenya.module.usecasedocument/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/UsecaseDocumentModule.java
lenya/trunk/org.apache.lenya.module.webdav/src/main/java/org/apache/lenya/cms/usecases/webdav/Mkcol.java
lenya/trunk/org.apache.lenya.module.webdav/src/main/java/org/apache/lenya/cms/usecases/webdav/Put.java
lenya/trunk/org.apache.lenya.optional.jcrsource/src/main/java/org/apache/lenya/cms/jcr/usecases/Import.java
lenya/trunk/org.apache.lenya.parent/pom.xml
Modified: lenya/trunk/org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java (original)
+++ lenya/trunk/org.apache.lenya.core.ac/src/main/java/org/apache/lenya/cms/ac/DocumentPolicyManagerWrapper.java Mon Feb 9 18:49:13 2009
@@ -38,14 +38,11 @@
import org.apache.lenya.ac.PolicyManager;
import org.apache.lenya.ac.Role;
import org.apache.lenya.ac.impl.DefaultAccessController;
-import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentLocator;
-import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
/**
* A PolicyManager which is capable of mapping all URLs of a document to the appropriate canonical
@@ -55,7 +52,7 @@
InheritingPolicyManager {
private InheritingPolicyManager policyManager;
- private RepositoryManager repositoryManager;
+ private Repository repository;
/**
* Returns the URI which is used to obtain the policy for a webapp URL.
@@ -87,10 +84,9 @@
if (pubId != null && area != null && info.getDocumentUrl().length() > 1) {
try {
HttpServletRequest request = getRequest();
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- DocumentFactory map = DocumentUtil.createDocumentFactory(session);
- Publication pub = map.getPublication(pubId);
- DocumentLocator loc = pub.getDocumentBuilder().getLocator(map, webappUrl);
+ Session session = this.repository.getSession(request);
+ Publication pub = session.getPublication(pubId);
+ DocumentLocator loc = pub.getDocumentBuilder().getLocator(session, webappUrl);
url = "/" + pubId + "/" + area + loc.getPath();
} catch (Exception e) {
throw new AccessControlException(e);
@@ -140,10 +136,8 @@
getLogger().debug("Building publication");
try {
- Session session = RepositoryUtil.getSession(getRepositoryManager(), getRequest());
- DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
- String id = new URLInformation(url).getPublicationId();
- return factory.getPublication(id);
+ Session session = this.repository.getSession(getRequest());
+ return session.getUriHandler().getPublication(url);
} catch (Exception e) {
throw new AccessControlException(e);
}
@@ -254,11 +248,8 @@
return getPolicyManager().getGrantedRoles(accreditableManager, identity, getPolicyURL(url));
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Login.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Login.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Login.java (original)
+++ lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Login.java Mon Feb 9 18:49:13 2009
@@ -22,7 +22,6 @@
import org.apache.cocoon.processing.ProcessInfoProvider;
import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.lenya.ac.Identity;
-import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.usecase.UsecaseException;
@@ -50,9 +49,8 @@
try {
URLInformation info = new URLInformation(getSourceURL());
String pubId = info.getPublicationId();
- DocumentFactory factory = getDocumentFactory();
- if (factory.existsPublication(pubId)) {
- Publication publication = factory.getPublication(pubId);
+ if (getSession().existsPublication(pubId)) {
+ Publication publication = getSession().getPublication(pubId);
setParameter(PUBLICATION, publication);
}
Identity identity = this.getSession().getIdentity();
Modified: lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Logout.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Logout.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Logout.java (original)
+++ lenya/trunk/org.apache.lenya.core.acusecases/src/main/java/org/apache/lenya/cms/ac/usecases/Logout.java Mon Feb 9 18:49:13 2009
@@ -25,7 +25,6 @@
import org.apache.cocoon.processing.ProcessInfoProvider;
import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.lenya.ac.Identity;
-import org.apache.lenya.cms.repository.RepositoryUtil;
/**
* Usecase to log a user out.
@@ -33,7 +32,7 @@
* @version $Id: Logout.java 407305 2006-05-17 16:21:49Z andreas $
*/
public class Logout extends AccessControlUsecase {
-
+
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#prepareView()
*/
@@ -60,7 +59,7 @@
HttpSession session = request.getSession(false);
if (session != null) {
session.removeAttribute(Identity.class.getName());
- RepositoryUtil.removeSession(request);
+ getRepository().removeSession(request);
session.removeAttribute(Login.HISTORY_SESSION_ATTRIBUTE);
}
}
Modified: lenya/trunk/org.apache.lenya.core.administration/src/main/java/org/apache/lenya/cms/ac/usecases/AccessControl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.administration/src/main/java/org/apache/lenya/cms/ac/usecases/AccessControl.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.administration/src/main/java/org/apache/lenya/cms/ac/usecases/AccessControl.java (original)
+++ lenya/trunk/org.apache.lenya.core.administration/src/main/java/org/apache/lenya/cms/ac/usecases/AccessControl.java Mon Feb 9 18:49:13 2009
@@ -26,7 +26,6 @@
import org.apache.cocoon.ProcessingException;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.URLInformation;
@@ -90,9 +89,8 @@
URLInformation info = new URLInformation(getSourceURL());
setParameter(COMPLETE_AREA, info.getCompleteArea());
- DocumentFactory map = getDocumentFactory();
- if (map.isDocument(getSourceURL())) {
- Document sourceDocument = map.getFromURL(getSourceURL());
+ if (getSession().getUriHandler().isDocument(getSourceURL())) {
+ Document sourceDocument = getSession().getUriHandler().getDocument(getSourceURL());
setParameter(DOCUMENT, sourceDocument);
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/LanguageExistsAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/LanguageExistsAction.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/LanguageExistsAction.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/LanguageExistsAction.java Mon Feb 9 18:49:13 2009
@@ -24,24 +24,21 @@
import java.util.Map;
import org.apache.avalon.framework.parameters.Parameters;
-import org.apache.cocoon.acting.ServiceableAction;
+import org.apache.cocoon.acting.AbstractAction;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Redirector;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.SourceResolver;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.util.ServletHelper;
/**
* Action that checks if the current URL represents an existing document.
*/
-public class LanguageExistsAction extends ServiceableAction {
+public class LanguageExistsAction extends AbstractAction {
- private RepositoryManager repositoryManager;
+ private Repository repository;
/**
* Check if the current URL represents an existing document.
@@ -53,11 +50,10 @@
Parameters parameters) throws Exception {
Request request = ObjectModelHelper.getRequest(objectModel);
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
+ Session session = this.repository.getSession(request);
String url = ServletHelper.getWebappURI(request);
- if (factory.isDocument(url)) {
+ if (session.getUriHandler().isDocument(url)) {
return Collections.unmodifiableMap(Collections.EMPTY_MAP);
}
else {
@@ -65,11 +61,12 @@
}
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
+ public Repository getRepository() {
+ return repository;
}
+
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckinAction.java Mon Feb 9 18:49:13 2009
@@ -29,12 +29,12 @@
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.lenya.ac.Identity;
+import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.repository.RepositoryException;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.ServletHelper;
/**
@@ -42,7 +42,7 @@
*/
public class ReservedCheckinAction extends RevisionControllerAction {
- private RepositoryManager repositoryManager;
+ protected Repository repository;
/**
* Checkin document
@@ -58,21 +58,20 @@
try {
Request request = ObjectModelHelper.getRequest(objectModel);
Identity identity = (Identity) request.getSession().getAttribute(Identity.class.getName());
- Session session = getRepositoryManager().createSession(identity, true);
+ Session session = this.repository.startSession(identity, true);
- DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
String url = ServletHelper.getWebappURI(request);
- if (factory.isDocument(url)) {
- Node node = factory.getFromURL(url).getRepositoryNode();
- if (node.isCheckedOutBySession(session)) {
- node.checkin();
+ if (session.getUriHandler().isDocument(url)) {
+ Document document = session.getUriHandler().getDocument(url);
+ if (document.isCheckedOutBySession(session)) {
+ document.checkin();
}
}
else {
throw new RuntimeException("The URL [" + url + "] doesn't represent a document.");
}
- } catch (RepositoryException e) {
+ } catch (final Exception e) {
getLogger().error("Could not check in node: ", e);
Map actionMap = new HashMap();
actionMap.put("exception", "genericException");
@@ -84,11 +83,8 @@
return null;
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/ReservedCheckoutAction.java Mon Feb 9 18:49:13 2009
@@ -53,7 +53,7 @@
assert node != null;
assert username != null;
- if (!node.isCheckedOutBySession(node.getSession())) {
+ if (!node.isCheckedOutBySession(node.getRepositorySession())) {
node.checkout();
}
} catch (RepositoryException e) {
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/acting/RevisionControllerAction.java Mon Feb 9 18:49:13 2009
@@ -32,16 +32,14 @@
import org.apache.lenya.ac.Identity;
import org.apache.lenya.ac.User;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.PageEnvelope;
import org.apache.lenya.cms.publication.PageEnvelopeFactory;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.rc.RCEnvironment;
import org.apache.lenya.cms.repository.Node;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
import org.apache.lenya.util.ServletHelper;
/**
@@ -55,7 +53,7 @@
private String backupDirectory = null;
private String username = null;
private Node node = null;
- private RepositoryManager repositoryManager;
+ private Repository repository;
/**
* @see org.apache.cocoon.acting.Action#act(org.apache.cocoon.environment.Redirector,
@@ -73,19 +71,16 @@
return null;
}
- org.apache.lenya.cms.repository.Session repoSession = RepositoryUtil.getSession(
- getRepositoryManager(), request);
- DocumentFactory factory = DocumentUtil.createDocumentFactory(repoSession);
+ Session repoSession = this.repository.getSession(request);
PageEnvelope envelope = null;
String id = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
- Publication publication = factory.getPublication(id);
+ Publication publication = repoSession.getPublication(id);
Document document = null;
try {
- envelope = PageEnvelopeFactory.getInstance().getPageEnvelope(factory, objectModel,
- publication);
+ envelope = PageEnvelopeFactory.getInstance().getPageEnvelope(objectModel, publication);
document = envelope.getDocument();
} catch (Exception e) {
getLogger().error("Resolving page envelope failed: ", e);
@@ -117,28 +112,28 @@
// cannot be get from
// the page-envelope
- String documentid = document.getPath();
- int bx = documentid.lastIndexOf("-bxe");
+ String path = document.getPath();
+ int bx = path.lastIndexOf("-bxe");
if (bx > 0) {
String language = document.getLanguage();
- int l = documentid.length();
+ int l = path.length();
int bxLength = "-bxe".length();
- int lang = documentid.lastIndexOf("_", bx);
+ int lang = path.lastIndexOf("_", bx);
int langLength = bx - lang;
if (bx > 0 && bx + bxLength <= l) {
- documentid = documentid.substring(0, bx) + documentid.substring(bx + bxLength, l);
+ path = path.substring(0, bx) + path.substring(bx + bxLength, l);
if (lang > 0 && langLength + lang < l) {
- language = documentid.substring(lang + 1, lang + langLength);
- documentid = documentid.substring(0, lang)
- + documentid.substring(lang + langLength, l - bxLength);
+ language = path.substring(lang + 1, lang + langLength);
+ path = path.substring(0, lang)
+ + path.substring(lang + langLength, l - bxLength);
}
}
- Document srcDoc = factory.get(publication, document.getArea(), documentid, language);
+ Document srcDoc = document.area().getSite().getNode(path).getLink(language).getDocument();
this.node = srcDoc.getRepositoryNode();
} else {
@@ -177,12 +172,4 @@
return this.username;
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
- }
-
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
-
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/AbstractPageEnvelopeModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/AbstractPageEnvelopeModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/AbstractPageEnvelopeModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/AbstractPageEnvelopeModule.java Mon Feb 9 18:49:13 2009
@@ -27,10 +27,10 @@
import org.apache.cocoon.environment.Context;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
-import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.PageEnvelope;
import org.apache.lenya.cms.publication.PageEnvelopeFactory;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.util.ServletHelper;
@@ -72,14 +72,13 @@
String servletContextPath = context.getRealPath("");
try {
- DocumentFactory factory = getDocumentFactory();
+ Session session = getSession();
Publication pub = null;
String pubId = new URLInformation(webappUrl).getPublicationId();
- if (pubId != null && factory.existsPublication(pubId)) {
- pub = factory.getPublication(pubId);
+ if (pubId != null && session.existsPublication(pubId)) {
+ pub = session.getPublication(pubId);
}
envelope = PageEnvelopeFactory.getInstance().getPageEnvelope(
- factory,
contextPath,
webappUrl,
new File(servletContextPath),
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/DocumentInfoModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/DocumentInfoModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/DocumentInfoModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/DocumentInfoModule.java Mon Feb 9 18:49:13 2009
@@ -31,12 +31,9 @@
import org.apache.cocoon.environment.Request;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentException;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
/**
* Input module to get document information.
@@ -91,7 +88,7 @@
protected SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
- private RepositoryManager repositoryManager;
+ private Repository repository;
/**
* Parse the parameters and return a document.
@@ -111,10 +108,9 @@
Request request = ObjectModelHelper.getRequest(objectModel);
try {
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- DocumentFactory docFactory = DocumentUtil.createDocumentFactory(session);
- Publication pub = docFactory.getPublication(publicationId);
- document = docFactory.get(pub, area, uuid, language, revision);
+ Session session = this.repository.getSession(request);
+ Publication pub = session.getPublication(publicationId);
+ document = pub.getArea(area).getDocument(uuid, language, revision);
} catch (Exception e) {
throw new ConfigurationException("Error getting document [" + publicationId + ":"
+ area + ":" + uuid + ":" + language + "]: " + e.getMessage(), e);
@@ -201,11 +197,11 @@
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
+ public Repository getRepository() {
+ return repository;
}
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/FallbackModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/FallbackModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/FallbackModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/FallbackModule.java Mon Feb 9 18:49:13 2009
@@ -27,20 +27,15 @@
import org.apache.cocoon.components.modules.input.AbstractInputModule;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
-import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.commons.lang.Validate;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.source.SourceResolver;
import org.apache.excalibur.store.impl.MRUMemoryStore;
import org.apache.lenya.cms.cocoon.source.FallbackSourceFactory;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentFactoryBuilder;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.ServletHelper;
-import org.springframework.web.context.WebApplicationContext;
/**
* <p>
@@ -52,17 +47,12 @@
private String protocol;
protected MRUMemoryStore store;
- private RepositoryManager repositoryManager;
- private DocumentFactoryBuilder documentFactoryBuilder;
+ private Repository repository;
private SourceResolver resolver;
private static Boolean useCache = null;
- public void setRepositoryManager(RepositoryManager manager) {
- this.repositoryManager = manager;
- }
-
- public void setDocumentFactoryBuilder(DocumentFactoryBuilder builder) {
- this.documentFactoryBuilder = builder;
+ public void setRepository(Repository repo) {
+ this.repository = repo;
}
protected boolean useCache() {
@@ -84,10 +74,9 @@
URLInformation info = new URLInformation(webappUri);
String pubId = null;
try {
- Session session = RepositoryUtil.getSession(this.repositoryManager, request);
- DocumentFactory factory = this.documentFactoryBuilder.createDocumentFactory(session);
+ Session session = this.repository.getSession(request);
String pubIdCandidate = info.getPublicationId();
- if (pubIdCandidate != null && factory.existsPublication(pubIdCandidate)) {
+ if (pubIdCandidate != null && session.existsPublication(pubIdCandidate)) {
pubId = pubIdCandidate;
}
} catch (Exception e) {
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/OperationModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/OperationModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/OperationModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/OperationModule.java Mon Feb 9 18:49:13 2009
@@ -22,12 +22,8 @@
import org.apache.cocoon.components.modules.input.AbstractInputModule;
import org.apache.cocoon.processing.ProcessInfoProvider;
import org.apache.cocoon.spring.configurator.WebAppContextUtils;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentFactoryBuilder;
-import org.apache.lenya.cms.repository.RepositoryException;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
/**
* Super class for operation-based input modules.
@@ -36,40 +32,25 @@
*/
public class OperationModule extends AbstractInputModule {
- private RepositoryManager repositoryManager;
- private DocumentFactory documentFactory;
- private DocumentFactoryBuilder documentFactoryBuilder;
-
- protected DocumentFactory getDocumentFactory() {
- ProcessInfoProvider processInfo = (ProcessInfoProvider) WebAppContextUtils
- .getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
- if (this.documentFactory == null) {
+ private Repository repository;
+ private org.apache.lenya.cms.publication.Session session;
+
+ protected Session getSession() {
+ if (this.session == null) {
+ ProcessInfoProvider processInfo = (ProcessInfoProvider) WebAppContextUtils
+ .getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
HttpServletRequest request = processInfo.getRequest();
- try {
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- this.documentFactory = getDocumentFactoryBuilder().createDocumentFactory(
- session);
- } catch (RepositoryException e) {
- throw new RuntimeException(e);
- }
+ this.session = this.getRepository().getSession(request);
}
- return this.documentFactory;
- }
-
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
-
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
+ return this.session;
}
- public DocumentFactoryBuilder getDocumentFactoryBuilder() {
- return documentFactoryBuilder;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
- public void setDocumentFactoryBuilder(DocumentFactoryBuilder documentFactoryBuilder) {
- this.documentFactoryBuilder = documentFactoryBuilder;
+ public Repository getRepository() {
+ return repository;
}
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/PageEnvelopeModule.java Mon Feb 9 18:49:13 2009
@@ -160,7 +160,7 @@
String url = ServletHelper.getWebappURI(request);
DocumentLocator loc;
try {
- loc = pub.getDocumentBuilder().getLocator(pub.getFactory(), url);
+ loc = pub.getDocumentBuilder().getLocator(pub.getSession(), url);
} catch (DocumentBuildException e) {
throw new SiteException(e);
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/ResourceTypeModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/ResourceTypeModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/ResourceTypeModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/ResourceTypeModule.java Mon Feb 9 18:49:13 2009
@@ -29,14 +29,11 @@
import org.apache.cocoon.environment.Request;
import org.apache.commons.lang.StringUtils;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
import org.apache.lenya.cms.publication.ResourceType;
import org.apache.lenya.cms.publication.ResourceTypeResolver;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.util.ServletHelper;
/**
@@ -69,7 +66,7 @@
protected static final String EXPIRES = "expires";
protected static final String SUPPORTS_FORMAT = "supportsFormat";
- private RepositoryManager repositoryManager;
+ private Repository repository;
private ResourceTypeResolver resourceTypeResolver;
public Object getAttribute(String name, Configuration modeConf, Map objectModel)
@@ -78,7 +75,7 @@
try {
Request request = ObjectModelHelper.getRequest(objectModel);
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
+ Session session = this.repository.getSession(request);
ResourceType resourceType;
Publication pub = null;
@@ -86,9 +83,8 @@
String[] steps = name.split(":");
if (steps.length == 1) {
- DocumentFactory docFactory = DocumentUtil.createDocumentFactory(session);
String webappUrl = ServletHelper.getWebappURI(request);
- Document document = docFactory.getFromURL(webappUrl);
+ Document document = session.getUriHandler().getDocument(webappUrl);
pub = document.getPublication();
attribute = name;
@@ -155,14 +151,6 @@
}
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
- }
-
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
-
public void setResourceTypeResolver(ResourceTypeResolver resourceTypeResolver) {
this.resourceTypeResolver = resourceTypeResolver;
}
@@ -171,4 +159,8 @@
return resourceTypeResolver;
}
+ public void setRepository(Repository repository) {
+ this.repository = repository;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/flow/FlowHelperImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/flow/FlowHelperImpl.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/flow/FlowHelperImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/flow/FlowHelperImpl.java Mon Feb 9 18:49:13 2009
@@ -30,19 +30,17 @@
import org.apache.cocoon.util.AbstractLogEnabled;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.DocumentFactoryBuilder;
import org.apache.lenya.cms.publication.PageEnvelope;
import org.apache.lenya.cms.publication.PageEnvelopeException;
import org.apache.lenya.cms.publication.PageEnvelopeFactory;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.publication.util.DocumentHelper;
import org.apache.lenya.cms.rc.FileReservedCheckInException;
import org.apache.lenya.cms.repository.Node;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.cms.workflow.WorkflowUtil;
import org.apache.lenya.util.ServletHelper;
import org.apache.lenya.workflow.WorkflowException;
@@ -53,15 +51,11 @@
*/
public class FlowHelperImpl extends AbstractLogEnabled implements FlowHelper {
- private RepositoryManager repositoryManager;
+ private Repository repository;
private DocumentFactoryBuilder documentFactoryBuilder;
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
-
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
public DocumentFactoryBuilder getDocumentFactoryBuilder() {
@@ -78,12 +72,11 @@
public PageEnvelope getPageEnvelope(FOM_Cocoon cocoon) throws PageEnvelopeException {
HttpServletRequest request = getRequest(cocoon);
try {
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- DocumentFactory map = getDocumentFactoryBuilder().createDocumentFactory(session);
+ Session session = this.repository.getSession(request);
PageEnvelopeFactory factory = PageEnvelopeFactory.getInstance();
URLInformation info = new URLInformation(ServletHelper.getWebappURI(request));
- Publication publication = map.getPublication(info.getPublicationId());
- return factory.getPageEnvelope(map, cocoon.getObjectModel(), publication);
+ Publication publication = session.getPublication(info.getPublicationId());
+ return factory.getPageEnvelope(cocoon.getObjectModel(), publication);
} catch (Exception e) {
throw new PageEnvelopeException(e);
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/AggregatingFallbackSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/AggregatingFallbackSourceFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/AggregatingFallbackSourceFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/AggregatingFallbackSourceFactory.java Mon Feb 9 18:49:13 2009
@@ -30,12 +30,10 @@
import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.excalibur.source.Source;
import org.apache.excalibur.store.impl.MRUMemoryStore;
-import org.apache.lenya.cms.publication.DocumentFactory;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.publication.templating.AllExistingSourceResolver;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.ServletHelper;
/**
@@ -111,13 +109,12 @@
pubId = info.getPublicationId();
}
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- DocumentFactory factory = getDocumentFactoryBuilder().createDocumentFactory(session);
+ Session session = getRepository().getSession(request);
String[] uris;
- if (factory.existsPublication(pubId)) {
- Publication pub = factory.getPublication(pubId);
+ if (session.existsPublication(pubId)) {
+ Publication pub = session.getPublication(pubId);
AllExistingSourceResolver resolver = new AllExistingSourceResolver();
getTemplateManager().visit(pub, path, resolver);
uris = resolver.getUris();
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/FallbackSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/FallbackSourceFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/FallbackSourceFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/FallbackSourceFactory.java Mon Feb 9 18:49:13 2009
@@ -34,16 +34,13 @@
import org.apache.excalibur.source.URIAbsolutizer;
import org.apache.excalibur.store.impl.MRUMemoryStore;
import org.apache.lenya.cms.module.ModuleManager;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentFactoryBuilder;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.publication.templating.ExistingSourceResolver;
import org.apache.lenya.cms.publication.templating.PublicationTemplateManager;
import org.apache.lenya.cms.publication.templating.VisitingSourceResolver;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.ServletHelper;
/**
@@ -63,8 +60,7 @@
protected MRUMemoryStore store;
private SourceResolver resolver;
- private RepositoryManager repositoryManager;
- private DocumentFactoryBuilder documentFactoryBuilder;
+ private Repository repository;
private PublicationTemplateManager templateManager;
private ModuleManager moduleManager;
@@ -93,22 +89,6 @@
return this.resolver;
}
- public void setRepositoryManager(RepositoryManager repoMgr) {
- this.repositoryManager = repoMgr;
- }
-
- protected RepositoryManager getRepositoryManager() {
- return this.repositoryManager;
- }
-
- public void setDocumentFactoryBuilder(DocumentFactoryBuilder builder) {
- this.documentFactoryBuilder = builder;
- }
-
- protected DocumentFactoryBuilder getDocumentFactoryBuilder() {
- return this.documentFactoryBuilder;
- }
-
public void setTemplateManager(PublicationTemplateManager mgr) {
this.templateManager = mgr;
}
@@ -181,10 +161,9 @@
URLInformation info = new URLInformation(webappUri);
String pubId = null;
try {
- Session session = RepositoryUtil.getSession(this.repositoryManager, request);
- DocumentFactory factory = this.documentFactoryBuilder.createDocumentFactory(session);
+ Session session = this.repository.getSession(request);
String pubIdCandidate = info.getPublicationId();
- if (pubIdCandidate != null && factory.existsPublication(pubIdCandidate)) {
+ if (pubIdCandidate != null && session.existsPublication(pubIdCandidate)) {
pubId = pubIdCandidate;
}
} catch (Exception e) {
@@ -215,10 +194,9 @@
pubId = info.getPublicationId();
}
- Session session = RepositoryUtil.getSession(this.repositoryManager, request);
- DocumentFactory factory = this.documentFactoryBuilder.createDocumentFactory(session);
- if (factory.existsPublication(pubId)) {
- Publication pub = factory.getPublication(pubId);
+ Session session = this.repository.getSession(request);
+ if (session.existsPublication(pubId)) {
+ Publication pub = session.getPublication(pubId);
VisitingSourceResolver resolver = getSourceVisitor();
this.templateManager.visit(pub, path, resolver);
source = resolver.getSource();
@@ -275,4 +253,12 @@
return SourceUtil.absolutize(baseURI, location, true);
}
+ public void setRepository(Repository repository) {
+ this.repository = repository;
+ }
+
+ public Repository getRepository() {
+ return repository;
+ }
+
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaSourceFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaSourceFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaSourceFactory.java Mon Feb 9 18:49:13 2009
@@ -34,11 +34,10 @@
import org.apache.excalibur.source.SourceException;
import org.apache.excalibur.source.SourceFactory;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.repository.NodeFactory;
import org.apache.lenya.cms.repository.RepositoryException;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.Query;
/**
@@ -58,7 +57,7 @@
+ Publication.PUBLICATION_PREFIX_URI;
private NodeFactory nodeFactory;
- private RepositoryManager repositoryManager;
+ private Repository repository;
/**
* @see org.apache.excalibur.source.SourceFactory#getSource(java.lang.String, java.util.Map)
@@ -95,7 +94,7 @@
.getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
if (sessionName == null) {
HttpServletRequest request = process.getRequest();
- session = RepositoryUtil.getSession(getRepositoryManager(), request);
+ session = this.repository.getSession(request);
} else if (sessionName.equals("usecase")) {
session = getUsecaseSession(process.getObjectModel());
} else {
@@ -133,11 +132,7 @@
return nodeFactory;
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
- }
-
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
+ public void setRepository(Repository repository) {
+ this.repository = repository;
}
}
\ No newline at end of file
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/RepositorySource.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/RepositorySource.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/RepositorySource.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/RepositorySource.java Mon Feb 9 18:49:13 2009
@@ -42,15 +42,13 @@
import org.apache.excalibur.source.SourceValidity;
import org.apache.excalibur.source.impl.AbstractSource;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
import org.apache.lenya.cms.repository.ContentHolder;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.repository.NodeFactory;
import org.apache.lenya.cms.repository.RepositoryException;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.util.Query;
import org.apache.lenya.util.ServletHelper;
@@ -124,9 +122,8 @@
HttpServletRequest request = process.getRequest();
String webappUrl = ServletHelper.getWebappURI(request);
String pubId = new URLInformation(webappUrl).getPublicationId();
- DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
- Publication pub = factory.getPublication(pubId);
- Document currentDoc = pub.getFactory().getFromURL(webappUrl);
+ Publication pub = this.session.getPublication(pubId);
+ Document currentDoc = pub.getSession().getUriHandler().getDocument(webappUrl);
if (currentDoc.getSourceURI().equals(sourceUri)) {
revisionNumber = Integer.valueOf(revisionString).intValue();
}
@@ -135,10 +132,11 @@
sourceUri = uri;
}
+ org.apache.lenya.cms.repository.Session repoSession = (org.apache.lenya.cms.repository.Session) session;
if (revisionNumber == -1) {
- this.content = (ContentHolder) session.getRepositoryItem(nodeFactory, sourceUri);
+ this.content = (ContentHolder) repoSession.getRepositoryItem(nodeFactory, sourceUri);
} else {
- Node node = (Node) session.getRepositoryItem(nodeFactory, sourceUri);
+ Node node = (Node) repoSession.getRepositoryItem(nodeFactory, sourceUri);
this.content = node.getHistory().getRevision(revisionNumber);
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/SiteSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/SiteSourceFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/SiteSourceFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/cocoon/source/SiteSourceFactory.java Mon Feb 9 18:49:13 2009
@@ -33,13 +33,9 @@
import org.apache.excalibur.source.SourceNotFoundException;
import org.apache.excalibur.source.SourceResolver;
import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentUtil;
-import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.Session;
import org.apache.lenya.cms.publication.URLInformation;
-import org.apache.lenya.cms.repository.RepositoryManager;
-import org.apache.lenya.cms.repository.RepositoryUtil;
-import org.apache.lenya.cms.repository.Session;
import org.apache.lenya.cms.site.SiteStructure;
import org.apache.lenya.util.ServletHelper;
@@ -68,7 +64,7 @@
public class SiteSourceFactory extends AbstractLogEnabled implements SourceFactory {
private SourceResolver sourceResolver;
- private RepositoryManager repositoryManager;
+ private Repository repository;
/**
* @see org.apache.excalibur.source.SourceFactory#getSource(java.lang.String, java.util.Map)
@@ -108,10 +104,8 @@
+ "] must start with at least one slash.");
}
- Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
- DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
- Publication pub = factory.getPublication(pubId);
- SiteStructure site = pub.getArea(areaName).getSite();
+ Session session = this.repository.getSession(request);
+ SiteStructure site = session.getPublication(pubId).getArea(areaName).getSite();
String[] steps = relativePath.substring(1).split("/");
@@ -145,14 +139,6 @@
this.sourceResolver.release(source);
}
- public void setRepositoryManager(RepositoryManager repositoryManager) {
- this.repositoryManager = repositoryManager;
- }
-
- public RepositoryManager getRepositoryManager() {
- return repositoryManager;
- }
-
public SourceResolver getSourceResolver() {
return sourceResolver;
}
@@ -161,4 +147,8 @@
this.sourceResolver = sourceResolver;
}
+ public void setRepository(Repository repository) {
+ this.repository = repository;
+ }
+
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/observation/RepositoryEventFactory.java Mon Feb 9 18:49:13 2009
@@ -17,12 +17,9 @@
*/
package org.apache.lenya.cms.observation;
-import org.apache.cocoon.spring.configurator.WebAppContextUtils;
import org.apache.commons.logging.Log;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentException;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.DocumentFactoryBuilder;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.repository.Node;
import org.apache.lenya.cms.repository.Session;
@@ -53,7 +50,7 @@
public static final RepositoryEvent createEvent(Document doc, Log logger, Object descriptor) {
try {
Node node = doc.getRepositoryNode();
- RepositoryEvent event = new DocumentEvent(node.getSession(), doc.getPublication()
+ RepositoryEvent event = new DocumentEvent(node.getRepositorySession(), doc.getPublication()
.getId(), doc.getArea(), doc.getUUID(), doc.getLanguage(), doc
.getResourceType(), descriptor);
event.setNodeUri(node.getSourceURI());
@@ -85,7 +82,7 @@
if (doc != null) {
event = createEvent(doc, logger, descriptor);
} else {
- event = new RepositoryEvent(node.getSession(), descriptor);
+ event = new RepositoryEvent(node.getRepositorySession(), descriptor);
event.setNodeUri(node.getSourceURI());
}
return event;
@@ -119,17 +116,14 @@
try {
- DocumentFactoryBuilder builder = (DocumentFactoryBuilder) WebAppContextUtils
- .getCurrentWebApplicationContext().getBean(
- DocumentFactoryBuilder.class.getName());
- DocumentFactory factory = builder.createDocumentFactory(node.getSession());
- Publication pub = factory.getPublication(pubId);
+ org.apache.lenya.cms.publication.Session session = (org.apache.lenya.cms.publication.Session) node.getRepositorySession();
+ Publication pub = session.getPublication(pubId);
String docPath = path.substring((pubId + "/content/" + area).length());
String uuid = docPath.substring(1, docPath.length() - "/en".length());
String language = docPath.substring(docPath.length() - "en".length());
- doc = factory.get(pub, area, uuid, language);
+ doc = pub.getArea(area).getDocument(uuid, language);
if (doc == null) {
// this happens if the node was not a document node
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Area.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Area.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Area.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Area.java Mon Feb 9 18:49:13 2009
@@ -43,9 +43,9 @@
* @param uuid The UUID.
* @param language The language.
* @return A document.
- * @throws PublicationException if the document is not contained.
+ * @throws ResourceNotFoundException if the document is not contained.
*/
- Document getDocument(String uuid, String language) throws PublicationException;
+ Document getDocument(String uuid, String language) throws ResourceNotFoundException;
/**
* Checks if a document is contained.
@@ -59,5 +59,14 @@
* @return All documents in this area.
*/
Document[] getDocuments();
+
+ /**
+ * @param uuid The UUID.
+ * @param language The language.
+ * @param revision The revision.
+ * @return A document.
+ * @throws ResourceNotFoundException if the document is not contained.
+ */
+ Document getDocument(String uuid, String language, int revision) throws ResourceNotFoundException;
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java Mon Feb 9 18:49:13 2009
@@ -97,15 +97,11 @@
return suffix;
}
- /**
- * @see org.apache.lenya.cms.publication.DocumentBuilder#isDocument(DocumentFactory,
- * String)
- */
- public boolean isDocument(DocumentFactory factory, String url) throws DocumentBuildException {
+ public boolean isDocument(Session session, String url) throws DocumentBuildException {
try {
- DocumentLocator locator = getLocatorWithoutCheck(factory, url);
+ DocumentLocator locator = getLocatorWithoutCheck(session, url);
if (locator != null) {
- Publication pub = factory.getPublication(locator.getPublicationId());
+ Publication pub = session.getPublication(locator.getPublicationId());
String path = locator.getPath();
Area area = pub.getArea(locator.getArea());
if (area.getSite().contains(path)) {
@@ -124,41 +120,35 @@
/**
* Builds the canonical document URL.
- * @param factory The document factory.
+ * @param session The document factory.
* @param locator The document locator.
* @return A string.
*/
- protected String buildCanonicalDocumentUrl(DocumentFactory factory, DocumentLocator locator) {
+ protected String buildCanonicalDocumentUrl(Session session, DocumentLocator locator) {
String languageSuffix = "";
String language = locator.getLanguage();
- Publication pub;
- try {
- pub = factory.getPublication(locator.getPublicationId());
- } catch (PublicationException e) {
- throw new RuntimeException(e);
- }
+ Publication pub = session.getPublication(locator.getPublicationId());
if (!language.equals(pub.getDefaultLanguage())) {
languageSuffix = "_" + language;
}
- String url = locator.getPath() + languageSuffix + ".html";
- return url;
+ return locator.getPath() + languageSuffix + ".html";
}
- public String buildCanonicalUrl(DocumentFactory factory, DocumentLocator doc) {
+ public String buildCanonicalUrl(Session session, DocumentLocator doc) {
- String documentUrl = buildCanonicalDocumentUrl(factory, doc);
+ String documentUrl = buildCanonicalDocumentUrl(session, doc);
String url = "/" + doc.getPublicationId() + "/" + doc.getArea() + documentUrl;
return url;
}
- public DocumentLocator getLocator(DocumentFactory factory, String webappUrl)
+ public DocumentLocator getLocator(Session session, String webappUrl)
throws DocumentBuildException {
- DocumentLocator locator = getLocatorWithoutCheck(factory, webappUrl);
+ DocumentLocator locator = getLocatorWithoutCheck(session, webappUrl);
if (locator == null) {
throw new DocumentBuildException("The webapp URL [" + webappUrl
+ "] does not refer to a document!");
@@ -169,13 +159,13 @@
/**
* Creates a document locator for a webapp URL without checking if the
* webapp URL refers to a locator first.
- * @param factory The document factory.
+ * @param session The document factory.
* @param webappUrl The webapp URL.
* @return A document locator or <code>null</code> if the URL doesn't
* refer to a locator.
* @throws DocumentBuildException if an error occurs.
*/
- protected DocumentLocator getLocatorWithoutCheck(DocumentFactory factory, String webappUrl)
+ protected DocumentLocator getLocatorWithoutCheck(Session session, String webappUrl)
throws DocumentBuildException {
if (!webappUrl.startsWith("/")) {
@@ -187,15 +177,8 @@
URLInformation info = new URLInformation(webappUrl);
- Publication publication;
- try {
- publication = factory.getPublication(info.getPublicationId());
- } catch (PublicationException e) {
- throw new DocumentBuildException(e);
- }
-
+ Publication publication = session.getPublication(info.getPublicationId());
String documentURL = info.getDocumentUrl();
-
documentURL = removeExtensions(documentURL);
String language = getLanguage(documentURL);
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Document.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Document.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Document.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/Document.java Mon Feb 9 18:49:13 2009
@@ -26,6 +26,7 @@
import org.apache.lenya.cms.metadata.MetaDataOwner;
import org.apache.lenya.cms.publication.util.DocumentVisitor;
import org.apache.lenya.cms.repository.Node;
+import org.apache.lenya.cms.repository.RepositoryException;
import org.apache.lenya.cms.repository.RepositoryItem;
import org.apache.lenya.cms.site.Link;
@@ -100,10 +101,8 @@
* document with the same document-uuid is also available in.
*
* @return An array of strings denoting the languages.
- *
- * @throws DocumentException if an error occurs
*/
- String[] getLanguages() throws DocumentException;
+ String[] getLanguages();
/**
* Returns the date of the last modification of this document.
@@ -145,7 +144,7 @@
*
* @throws DocumentException if an error occurs
*/
- boolean exists() throws DocumentException;
+ boolean exists();
/**
* Check if a document exists with the given document-uuid and the given area
@@ -155,13 +154,7 @@
*
* @throws DocumentException if an error occurs
*/
- boolean existsInAnyLanguage() throws DocumentException;
-
- /**
- * Returns the identity map this document belongs to.
- * @return A document identity map.
- */
- DocumentFactory getFactory();
+ boolean existsInAnyLanguage();
/**
* Returns the URI to resolve the document's source.
@@ -179,9 +172,9 @@
/**
* Accepts a document visitor.
* @param visitor The visitor.
- * @throws PublicationException if an error occurs.
+ * @throws Exception if an error occurs.
*/
- void accept(DocumentVisitor visitor) throws PublicationException;
+ void accept(DocumentVisitor visitor) throws Exception;
/**
* Deletes the document.
@@ -196,7 +189,7 @@
/**
* @return The resource type of this document (formerly known as doctype)
- * @throws DocumentException if an error occurs.
+ * @throws DocumentException if the resource type has not been set.
*/
ResourceType getResourceType() throws DocumentException;
@@ -220,19 +213,18 @@
* @param mimeType The mime type.
* @throws DocumentException if an error occurs.
*/
- void setMimeType(String mimeType) throws DocumentException;
+ void setMimeType(String mimeType);
/**
* @return The mime type of this document.
- * @throws DocumentException if an error occurs.
+ * @throws DocumentException if the mime type has not been set.
*/
String getMimeType() throws DocumentException;
/**
* @return The content length of the document.
- * @throws DocumentException if an error occurs.
*/
- long getContentLength() throws DocumentException;
+ long getContentLength();
/**
* @return The document identifier for this document.
@@ -257,9 +249,9 @@
* Returns a certain translation (language version) of this document.
* @param language The language.
* @return A document.
- * @throws DocumentException if the language version doesn't exist.
+ * @throws ResourceNotFoundException if the language version doesn't exist.
*/
- Document getTranslation(String language) throws DocumentException;
+ Document getTranslation(String language) throws ResourceNotFoundException;
/**
* Checks if this document exists in a certain area.
@@ -272,9 +264,9 @@
* Returns the document in a certain area.
* @param area The area.
* @return A document.
- * @throws DocumentException if the area version doesn't exist.
+ * @throws ResourceNotFoundException if the area version doesn't exist.
*/
- Document getAreaVersion(String area) throws DocumentException;
+ Document getAreaVersion(String area) throws ResourceNotFoundException;
/**
* Checks if a translation of this document exists in a certain area.
@@ -289,9 +281,9 @@
* @param area The area.
* @param language The language.
* @return A document.
- * @throws DocumentException if the area version doesn't exist.
+ * @throws ResourceNotFoundException if the area version doesn't exist.
*/
- Document getVersion(String area, String language) throws DocumentException;
+ Document getVersion(String area, String language) throws ResourceNotFoundException;
/**
* @return A document locator.
@@ -323,4 +315,10 @@
* @return The revision number of this document.
*/
int getRevisionNumber();
+
+ boolean isCheckedOutBySession(Session session) throws RepositoryException;
+
+ void checkin() throws RepositoryException;
+
+ Session getSession();
}
Modified: lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentBuilder.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentBuilder.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentBuilder.java (original)
+++ lenya/trunk/org.apache.lenya.core.api/src/main/java/org/apache/lenya/cms/publication/DocumentBuilder.java Mon Feb 9 18:49:13 2009
@@ -37,7 +37,7 @@
* @return A document identifier.
* @throws DocumentBuildException if an error occurs.
*/
- DocumentLocator getLocator(DocumentFactory factory, String webappUrl) throws DocumentBuildException;
+ DocumentLocator getLocator(Session session, String webappUrl) throws DocumentBuildException;
/**
* Checks if an URL corresponds to a CMS document.
@@ -46,7 +46,7 @@
* @return A boolean value.
* @throws DocumentBuildException when something went wrong.
*/
- boolean isDocument(DocumentFactory factory, String url) throws DocumentBuildException;
+ boolean isDocument(Session session, String url) throws DocumentBuildException;
/**
* Builds an URL corresponding to a CMS document.
@@ -54,7 +54,7 @@
* @param locator The locator.
* @return a String The corresponding URL.
*/
- String buildCanonicalUrl(DocumentFactory factory, DocumentLocator locator);
+ String buildCanonicalUrl(Session session, DocumentLocator locator);
/**
* Checks if a document name is valid.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org