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 [4/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/...

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/UuidToUrlModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/UuidToUrlModule.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/UuidToUrlModule.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/components/modules/input/UuidToUrlModule.java Mon Feb  9 18:49:13 2009
@@ -26,11 +26,8 @@
 import org.apache.cocoon.environment.Request;
 import org.apache.lenya.cms.linking.LinkResolver;
 import org.apache.lenya.cms.linking.UuidToUrlRewriter;
-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;
 
 /**
@@ -39,20 +36,19 @@
  */
 public class UuidToUrlModule extends AbstractInputModule {
     
-    protected RepositoryManager repositoryManager;
+    protected Repository repository;
     protected LinkResolver linkResolver;
     
     public Object getAttribute(String name, Configuration modeConf, Map objectModel)
             throws ConfigurationException {
         Request request = ObjectModelHelper.getRequest(objectModel);
         try {
-            Session session = RepositoryUtil.getSession(this.repositoryManager, request);
-            DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
             String currentUrl = ServletHelper.getWebappURI(request);
             
-            UuidToUrlRewriter rewriter = new UuidToUrlRewriter(currentUrl, linkResolver, factory);
-            if (factory.isDocument(currentUrl)) {
-                rewriter.setCurrentDocument(factory.getFromURL(currentUrl));
+            UuidToUrlRewriter rewriter = new UuidToUrlRewriter(currentUrl, linkResolver, session);
+            if (session.getUriHandler().isDocument(currentUrl)) {
+                rewriter.setCurrentDocument(session.getUriHandler().getDocument(currentUrl));
             }
             
             return rewriter.rewrite(name);
@@ -62,8 +58,8 @@
         }
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
     public void setLinkResolver(LinkResolver linkResolver) {

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/source/DocumentSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/source/DocumentSourceFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/source/DocumentSourceFactory.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/source/DocumentSourceFactory.java Mon Feb  9 18:49:13 2009
@@ -37,12 +37,9 @@
 import org.apache.lenya.cms.linking.LinkTarget;
 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.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.Query;
 import org.apache.lenya.util.ServletHelper;
 
@@ -69,7 +66,7 @@
 
     private SourceResolver sourceResolver;
     private LinkResolver linkResolver;
-    private RepositoryManager repositoryManager;
+    private Repository repository;
 
     /**
      * @see org.apache.excalibur.source.SourceFactory#getSource(java.lang.String, java.util.Map)
@@ -91,17 +88,16 @@
 
         try {
 
-            Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-            DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
             String webappUrl = ServletHelper.getWebappURI(request);
             LinkTarget target;
-            if (factory.isDocument(webappUrl)) {
-                Document currentDoc = factory.getFromURL(webappUrl);
+            if (session.getUriHandler().isDocument(webappUrl)) {
+                Document currentDoc = session.getUriHandler().getDocument(webappUrl);
                 target = getLinkResolver().resolve(currentDoc, linkUri);
             } else {
                 Link link = new Link(linkUri);
                 contextualize(link, webappUrl);
-                target = getLinkResolver().resolve(factory, link.getUri());
+                target = getLinkResolver().resolve(session, link.getUri());
             }
 
             if (!target.exists()) {
@@ -178,12 +174,8 @@
         return linkResolver;
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
     public SourceResolver getSourceResolver() {

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/IncomingProxyTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/IncomingProxyTransformer.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/IncomingProxyTransformer.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/IncomingProxyTransformer.java Mon Feb  9 18:49:13 2009
@@ -27,12 +27,9 @@
 import org.apache.cocoon.environment.SourceResolver;
 import org.apache.lenya.cms.linking.IncomingLinkRewriter;
 import org.apache.lenya.cms.linking.LinkRewriter;
-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.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.xml.sax.SAXException;
 
 /**
@@ -42,7 +39,7 @@
 public class IncomingProxyTransformer extends AbstractLinkTransformer {
     
     private LinkRewriter rewriter;
-    private RepositoryManager repositoryManager;
+    private Repository repository;
 
     public void setup(SourceResolver _resolver, Map _objectModel, String _source,
             Parameters params) throws ProcessingException, SAXException, IOException {
@@ -50,12 +47,11 @@
         Request request = ObjectModelHelper.getRequest(_objectModel);
 
         try {
-            Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-            DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
             String webappUrl = getWebappUrl(params, objectModel);
             URLInformation info = new URLInformation(webappUrl);
             String pubId = info.getPublicationId();
-            this.rewriter = new IncomingLinkRewriter(factory.getPublication(pubId));
+            this.rewriter = new IncomingLinkRewriter(session.getPublication(pubId));
         } catch (final Exception e) {
             throw new RuntimeException(e);
         }
@@ -70,12 +66,8 @@
         this.rewriter = null;
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
 }

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java Mon Feb  9 18:49:13 2009
@@ -28,11 +28,8 @@
 import org.apache.lenya.cms.linking.LinkResolver;
 import org.apache.lenya.cms.linking.LinkRewriter;
 import org.apache.lenya.cms.linking.UrlToUuidRewriter;
-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.xml.sax.SAXException;
 
 /**
@@ -49,7 +46,7 @@
 public class UrlToUuidTransformer extends AbstractLinkTransformer {
 
     private LinkRewriter rewriter;
-    private RepositoryManager repositoryManager;
+    private Repository repository;
 
     /**
      * @see org.apache.cocoon.sitemap.SitemapModelComponent#setup(org.apache.cocoon.environment.SourceResolver,
@@ -62,9 +59,8 @@
 
         Request request = ObjectModelHelper.getRequest(_objectModel);
         try {
-            Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-            DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
-            this.rewriter = new UrlToUuidRewriter(factory);
+            Session session = this.repository.getSession(request);
+            this.rewriter = new UrlToUuidRewriter(session);
         } catch (final Exception e1) {
             throw new ProcessingException(e1);
         }
@@ -79,12 +75,8 @@
         this.rewriter = null;
     }
 
-    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.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java Mon Feb  9 18:49:13 2009
@@ -28,11 +28,8 @@
 import org.apache.lenya.cms.linking.LinkResolver;
 import org.apache.lenya.cms.linking.LinkRewriter;
 import org.apache.lenya.cms.linking.UuidToUrlRewriter;
-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.xml.sax.SAXException;
 
 /**
@@ -46,7 +43,7 @@
 
     private UuidToUrlRewriter rewriter;
     private LinkResolver linkResolver;
-    protected RepositoryManager repositoryManager;
+    protected Repository repository;
     
     public void setup(SourceResolver resolver, Map objectModel, String source,
             Parameters params) throws ProcessingException, SAXException, IOException {
@@ -56,13 +53,12 @@
         this.useIgnore = true;
         try {
             String currentUrl = getWebappUrl(params, objectModel);
-            Session session = RepositoryUtil.getSession(this.repositoryManager, request);
-            DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
             this.linkResolver = (LinkResolver) this.manager.lookup(LinkResolver.ROLE);
-            this.rewriter = new UuidToUrlRewriter(currentUrl, this.linkResolver, factory);
+            this.rewriter = new UuidToUrlRewriter(currentUrl, this.linkResolver, session);
             
-            if (factory.isDocument(currentUrl)) {
-                this.rewriter.setCurrentDocument(factory.getFromURL(currentUrl));
+            if (session.getUriHandler().isDocument(currentUrl)) {
+                this.rewriter.setCurrentDocument(session.getUriHandler().getDocument(currentUrl));
             }
             
         } catch (final Exception e) {
@@ -88,8 +84,8 @@
         this.rewriter = null;
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
 }

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkConverter.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkConverter.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkConverter.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkConverter.java Mon Feb  9 18:49:13 2009
@@ -79,7 +79,7 @@
                 Publication pub = examinedDocument.getPublication();
                 LinkRewriter incomingRewriter = new IncomingLinkRewriter(pub);
                 LinkRewriter urlToUuidRewriter = new UrlToUuidRewriter(examinedDocument
-                        .getFactory());
+                        .getSession());
 
                 org.w3c.dom.Document xml = DocumentHelper.readDocument(examinedDocument
                         .getInputStream());
@@ -132,8 +132,8 @@
     }
 
     protected String getContextPath() throws ServiceException {
-        ProcessInfoProvider process = (ProcessInfoProvider) WebAppContextUtils.getCurrentWebApplicationContext().getBean(
-                ProcessInfoProvider.ROLE);
+        ProcessInfoProvider process = (ProcessInfoProvider) WebAppContextUtils
+                .getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
         return process.getRequest().getContextPath();
     }
 

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolver.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolver.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolver.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolver.java Mon Feb  9 18:49:13 2009
@@ -20,7 +20,7 @@
 import java.net.MalformedURLException;
 
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.Session;
 
 /**
  * <p>
@@ -92,11 +92,11 @@
 
     /**
      * Resolve a link. The link URI has to contain the UUID, language, area and publication ID.
-     * @param factory The document factory to use.
+     * @param session The session to use.
      * @param linkUri The link URI.
      * @return A link target.
      * @throws MalformedURLException if the URI is invalid.
      */
-    LinkTarget resolve(DocumentFactory factory, String linkUri) throws MalformedURLException;
+    LinkTarget resolve(Session session, String linkUri) throws MalformedURLException;
 
 }

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolverImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolverImpl.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolverImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/LinkResolverImpl.java Mon Feb  9 18:49:13 2009
@@ -25,9 +25,8 @@
 import org.apache.cocoon.util.AbstractLogEnabled;
 import org.apache.lenya.cms.publication.Area;
 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.PublicationException;
+import org.apache.lenya.cms.publication.Session;
 
 /**
  * Link resolver implementation.
@@ -47,13 +46,13 @@
         String revisionString = getValue(link.getRevision(), null);
         String area = getValue(link.getArea(), currentDoc.getArea());
         String pubId = getValue(link.getPubId(), currentDoc.getPublication().getId());
-        
+
         String uuid = getValue(link.getUuid(), currentDoc.getUUID());
         if (uuid.length() == 0) {
             uuid = currentDoc.getUUID();
         }
-        
-        return resolve(currentDoc.getFactory(), pubId, area, uuid, language, revisionString);
+
+        return resolve(currentDoc.getSession(), pubId, area, uuid, language, revisionString);
     }
 
     protected String getValue(String value, String defaultValue) {
@@ -88,7 +87,7 @@
         }
     }
 
-    public LinkTarget resolve(DocumentFactory factory, String linkUri) throws MalformedURLException {
+    public LinkTarget resolve(Session session, String linkUri) throws MalformedURLException {
 
         Link link = new Link(linkUri);
         String language = link.getLanguage();
@@ -101,11 +100,11 @@
         assert pubId != null;
 
         String revisionString = getValue(link.getRevision(), null);
-        
-        return resolve(factory, pubId, area, uuid, language, revisionString);
+
+        return resolve(session, pubId, area, uuid, language, revisionString);
     }
 
-    protected LinkTarget resolve(DocumentFactory factory, String pubId, String area, String uuid,
+    protected LinkTarget resolve(Session session, String pubId, String area, String uuid,
             String language, String revisionString) {
         int revision;
         if (revisionString == null) {
@@ -114,37 +113,33 @@
             revision = Integer.valueOf(revisionString).intValue();
         }
 
-        try {
-            Publication pub = factory.getPublication(pubId);
-            Area areaObj = pub.getArea(area);
-            Document doc;
-            if (areaObj.contains(uuid, language)) {
-                doc = areaObj.getDocument(uuid, language);
-            } else {
-                if (this.fallbackMode == MODE_FAIL) {
-                    doc = null;
-                } else if (this.fallbackMode == MODE_DEFAULT_LANGUAGE) {
-                    if (areaObj.contains(uuid, pub.getDefaultLanguage())) {
-                        doc = factory.get(pub, area, uuid, pub.getDefaultLanguage(), revision);
-                    } else {
-                        doc = null;
-                    }
+        Publication pub = session.getPublication(pubId);
+        Area areaObj = pub.getArea(area);
+        Document doc;
+        if (areaObj.contains(uuid, language)) {
+            doc = areaObj.getDocument(uuid, language);
+        } else {
+            if (this.fallbackMode == MODE_FAIL) {
+                doc = null;
+            } else if (this.fallbackMode == MODE_DEFAULT_LANGUAGE) {
+                if (areaObj.contains(uuid, pub.getDefaultLanguage())) {
+                    doc = pub.getArea(area).getDocument(uuid, pub.getDefaultLanguage(), revision);
                 } else {
-                    throw new RuntimeException("The fallback mode [" + this.fallbackMode
-                            + "] is not supported!");
+                    doc = null;
                 }
+            } else {
+                throw new RuntimeException("The fallback mode [" + this.fallbackMode
+                        + "] is not supported!");
             }
-            if (doc == null) {
-                return new LinkTarget();
+        }
+        if (doc == null) {
+            return new LinkTarget();
+        } else {
+            if (revision > -1) {
+                return new LinkTarget(doc, revision);
             } else {
-                if (revision > -1) {
-                    return new LinkTarget(doc, revision);
-                } else {
-                    return new LinkTarget(doc);
-                }
+                return new LinkTarget(doc);
             }
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
         }
     }
 

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UrlToUuidRewriter.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UrlToUuidRewriter.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UrlToUuidRewriter.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UrlToUuidRewriter.java Mon Feb  9 18:49:13 2009
@@ -19,10 +19,9 @@
 
 import java.util.Arrays;
 
-import org.apache.lenya.cms.publication.Area;
 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.Session;
 import org.apache.lenya.cms.publication.URLInformation;
 
 /**
@@ -36,13 +35,13 @@
  */
 public class UrlToUuidRewriter implements LinkRewriter {
 
-    private DocumentFactory factory;
+    private Session session;
 
     /**
-     * @param factory The document factory to use.
+     * @param session The document factory to use.
      */
-    public UrlToUuidRewriter(DocumentFactory factory) {
-        this.factory = factory;
+    public UrlToUuidRewriter(Session session) {
+        this.session = session;
     }
 
     public boolean matches(String url) {
@@ -51,9 +50,9 @@
             String pubId = info.getPublicationId();
             String area = info.getArea();
             if (pubId != null && area != null) {
-                if (this.factory.existsPublication(pubId)) {
+                if (this.session.existsPublication(pubId)) {
                     try {
-                        Publication pub = this.factory.getPublication(pubId);
+                        Publication pub = this.session.getPublication(pubId);
                         if (Arrays.asList(pub.getAreaNames()).contains(area)) {
                             return true;
                         }
@@ -89,8 +88,8 @@
         String rewrittenUrl;
 
         try {
-            if (factory.isDocument(linkUrl)) {
-                Document targetDocument = factory.getFromURL(linkUrl);
+            if (session.getUriHandler().isDocument(linkUrl)) {
+                Document targetDocument = session.getUriHandler().getDocument(linkUrl);
                 rewrittenUrl = getUuidBasedUri(targetDocument, anchor, queryString);
             } else {
                 rewrittenUrl = webappUrl;

Modified: lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UuidToUrlRewriter.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UuidToUrlRewriter.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UuidToUrlRewriter.java (original)
+++ lenya/trunk/org.apache.lenya.core.linking/src/main/java/org/apache/lenya/cms/linking/UuidToUrlRewriter.java Mon Feb  9 18:49:13 2009
@@ -23,8 +23,8 @@
 import org.apache.commons.lang.Validate;
 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.Publication;
+import org.apache.lenya.cms.publication.Session;
 import org.apache.lenya.cms.publication.URLInformation;
 import org.apache.lenya.util.Query;
 
@@ -65,19 +65,19 @@
     private String currentUrl;
     private Document currentDoc;
     private LinkResolver linkResolver;
-    private DocumentFactory factory;
+    private Session session;
 
     /**
      * @param currentUrl The current request URL.
      * @param linkResolver The link resolver to use.
-     * @param factory The document factory to use.
+     * @param session The document factory to use.
      */
-    public UuidToUrlRewriter(String currentUrl, LinkResolver linkResolver, DocumentFactory factory) {
+    public UuidToUrlRewriter(String currentUrl, LinkResolver linkResolver, Session session) {
         Validate.notNull(currentUrl);
         Validate.notNull(linkResolver);
-        Validate.notNull(factory);
+        Validate.notNull(session);
         this.currentUrl = currentUrl;
-        this.factory = factory;
+        this.session = session;
         this.linkResolver = linkResolver;
     }
 
@@ -128,7 +128,7 @@
                     target = this.linkResolver.resolve(this.currentDoc, linkUri);
                 } else {
                     Link link = getAbsoluteLink(info, linkUri);
-                    target = this.linkResolver.resolve(this.factory, link.getUri());
+                    target = this.linkResolver.resolve(this.session, link.getUri());
                 }
 
                 if (target.exists() && target.getDocument().hasLink()) {

Modified: lenya/trunk/org.apache.lenya.core.metadata/src/main/java/org/apache/lenya/modules/metadata/MetaDataTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.metadata/src/main/java/org/apache/lenya/modules/metadata/MetaDataTransformer.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.metadata/src/main/java/org/apache/lenya/modules/metadata/MetaDataTransformer.java (original)
+++ lenya/trunk/org.apache.lenya.core.metadata/src/main/java/org/apache/lenya/modules/metadata/MetaDataTransformer.java Mon Feb  9 18:49:13 2009
@@ -33,12 +33,9 @@
 import org.apache.lenya.cms.metadata.MetaData;
 import org.apache.lenya.cms.publication.Area;
 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.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.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.AttributesImpl;
@@ -112,8 +109,7 @@
     protected String language = null;
     protected String uuid = null;
     protected Publication pub;
-    private DocumentFactory factory;
-    protected RepositoryManager repositoryManager;
+    protected Repository repository;
 
     /**
      * Setup the MetaDataTransformer.
@@ -134,9 +130,8 @@
         }
         Request request = ObjectModelHelper.getRequest(objectModel);
         try {
-            Session session = RepositoryUtil.getSession(this.repositoryManager, request);
-            factory = DocumentUtil.createDocumentFactory(session);
-            pub = factory.getPublication(this.publicationId);
+            Session session = this.repository.getSession(request);
+            pub = session.getPublication(this.publicationId);
         } catch (Exception e) {
             throw new ProcessingException("Error geting publication id / area from page envelope",
                     e);
@@ -223,11 +218,10 @@
         this.language = null;
         this.uuid = null;
         this.pub = null;
-        this.factory = null;
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
 }

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/ChangeNodeID.java Mon Feb  9 18:49:13 2009
@@ -130,7 +130,7 @@
             addErrorMessage("The document ID is not valid.");
         } else {
             DocumentLocator target = getTargetLocator();
-            Publication pub = getDocumentFactory().getPublication(target.getPublicationId());
+            Publication pub = getSession().getPublication(target.getPublicationId());
             SiteStructure site = pub.getArea(target.getArea()).getSite();
             if (site.contains(target.getPath(), target.getLanguage())) {
                 addErrorMessage("The document does already exist.");
@@ -158,7 +158,7 @@
         Document source = getSourceDocument();
         DocumentLocator target = getTargetLocator();
         getDocumentManager().moveAll(source.area(), source.getPath(), source.area(), target.getPath());
-        targetDoc = getDocumentFactory().get(target);
+        targetDoc = target.getDocument(getSession());
 
         setTargetDocument(targetDoc);
     }

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Clipboard.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Clipboard.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Clipboard.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Clipboard.java Mon Feb  9 18:49:13 2009
@@ -18,9 +18,8 @@
 package org.apache.lenya.cms.site.usecases;
 
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentBuildException;
-import org.apache.lenya.cms.publication.DocumentFactory;
-import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.ResourceNotFoundException;
+import org.apache.lenya.cms.publication.Session;
 
 /**
  * Clipboard for cut/copy/paste of documents. The clipping method is either {@link #METHOD_CUT} or
@@ -40,7 +39,7 @@
      * The "cut" method.
      */
     public static final int METHOD_CUT = 0;
-    
+
     /**
      * The "copy" method.
      */
@@ -60,15 +59,14 @@
     }
 
     /**
-     * Returns the document for the current identity map.
-     * @param identityMap The identity map.
-     * @param publication The publication.
+     * Returns the document for the current session.
+     * @param session The session.
      * @return A document.
-     * @throws DocumentBuildException if the document could not be built.
+     * @throws ResourceNotFoundException if the document does not exist.
      */
-    public Document getDocument(DocumentFactory identityMap, Publication publication) throws DocumentBuildException {
-        Document document = identityMap.get(publication, this.area, this.uuid, this.language);
-        return document;
+    public Document getDocument(Session session) throws ResourceNotFoundException {
+        return session.getPublication(this.publicationId).getArea(this.area).getDocument(this.uuid,
+                this.language);
     }
 
     /**

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Create.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Create.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Create.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Create.java Mon Feb  9 18:49:13 2009
@@ -161,7 +161,7 @@
                 resourceType = getResourceTypeResolver().getResourceType(getDocumentTypeName());
                 String sampleName = getParameterAsString(SAMPLE, resourceType.getSampleNames()[0]);
                 ResourceType.Sample sample = resourceType.getSample(sampleName);
-                document = documentManager.add(getDocumentFactory(), resourceType, sample.getUri(),
+                document = documentManager.add(resourceType, sample.getUri(),
                         getPublication(), getArea(), getNewDocumentPath(), language,
                         getSourceExtension(), title, getVisibleInNav());
                 document.setMimeType(sample.getMimeType());
@@ -322,8 +322,8 @@
         Document document = null;
         String url = getSourceURL();
         try {
-            if (getDocumentFactory().isDocument(url)) {
-                document = getDocumentFactory().getFromURL(url);
+            if (getSession().getUriHandler().isDocument(url)) {
+                document = getSession().getUriHandler().getDocument(url);
             }
         } catch (Exception e) {
             throw new RuntimeException(e);

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/EmptyTrash.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/EmptyTrash.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/EmptyTrash.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/EmptyTrash.java Mon Feb  9 18:49:13 2009
@@ -22,7 +22,6 @@
 import java.util.List;
 
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentFactory;
 import org.apache.lenya.cms.publication.DocumentManager;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.PublicationException;
@@ -70,9 +69,8 @@
     protected org.apache.lenya.cms.repository.Node[] getNodesToLock() throws UsecaseException {
         List nodes = new ArrayList();
         try {
-            DocumentFactory factory = getDocumentFactory();
             String pubId = new URLInformation(getSourceURL()).getPublicationId();
-            Publication publication = factory.getPublication(pubId);
+            Publication publication = getSession().getPublication(pubId);
             Document[] docs = getTrashDocuments();
             for (int i = 0; i < docs.length; i++) {
                 nodes.add(docs[i].getRepositoryNode());
@@ -103,8 +101,7 @@
      */
     protected Document[] getTrashDocuments() throws PublicationException, SiteException {
         String pubId = new URLInformation(getSourceURL()).getPublicationId();
-        DocumentFactory factory = getDocumentFactory();
-        Publication pub = factory.getPublication(pubId);
+        Publication pub = getSession().getPublication(pubId);
         return pub.getArea(Publication.TRASH_AREA).getDocuments();
     }
 

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/MoveSubsite.java Mon Feb  9 18:49:13 2009
@@ -136,7 +136,7 @@
         Area targetArea = doc.getPublication().getArea(targetAreaName);
 
         DocumentLocator targetLoc = doc.getLocator().getAreaVersion(targetAreaName);
-        targetLoc = SiteUtil.getAvailableLocator(getDocumentFactory(), targetLoc);
+        targetLoc = SiteUtil.getAvailableLocator(getSession(), targetLoc);
 
         for (int i = 0; i < sources.length; i++) {
             WorkflowUtil.invoke(getLogger(), sources[i], getEvent(), true);

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Overview.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Overview.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Overview.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Overview.java Mon Feb  9 18:49:13 2009
@@ -62,7 +62,7 @@
             Document doc = getSourceDocument();
             if (doc == null) {
                 URLInformation info = new URLInformation(getSourceURL());
-                Publication pub = getDocumentFactory().getPublication(info.getPublicationId());
+                Publication pub = getSession().getPublication(info.getPublicationId());
                 Area area = pub.getArea(info.getArea());
                 setParameter(PARAM_NUMBER_OF_DOCUMENTS, new Integer(area.getDocuments().length));
                 setParameter(PARAM_NUMBER_OF_SITE_NODES, new Integer(area.getSite().getNodes().length));

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Paste.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Paste.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Paste.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Paste.java Mon Feb  9 18:49:13 2009
@@ -29,11 +29,9 @@
 import org.apache.lenya.cms.publication.Document;
 import org.apache.lenya.cms.publication.DocumentBuildException;
 import org.apache.lenya.cms.publication.DocumentException;
-import org.apache.lenya.cms.publication.DocumentFactory;
 import org.apache.lenya.cms.publication.DocumentLocator;
 import org.apache.lenya.cms.publication.DocumentManager;
 import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationException;
 import org.apache.lenya.cms.publication.URLInformation;
 import org.apache.lenya.cms.repository.Node;
 import org.apache.lenya.cms.site.NodeSet;
@@ -74,8 +72,7 @@
         } else {
             Document doc = getSourceDocument();
             if (doc != null) {
-                Document clippedDoc = clipboard.getDocument(getDocumentFactory(), doc
-                        .getPublication());
+                Document clippedDoc = clipboard.getDocument(getSession());
                 String uuid = clippedDoc.getUUID();
                 SiteNode node = doc.getLink().getNode();
                 if (clipboard.getMethod() == Clipboard.METHOD_CUT) {
@@ -100,14 +97,9 @@
 
     protected Document getSourceDocument() {
         Document doc = null;
-        try {
-            DocumentFactory factory = getDocumentFactory();
-            String sourceUrl = getParameterAsString(SOURCE_URL);
-            if (factory.isDocument(sourceUrl)) {
-                doc = factory.getFromURL(sourceUrl);
-            }
-        } catch (DocumentBuildException e) {
-            throw new RuntimeException(e);
+        String sourceUrl = getParameterAsString(SOURCE_URL);
+        if (getSession().getUriHandler().isDocument(sourceUrl)) {
+            doc = getSession().getUriHandler().getDocument(sourceUrl);
         }
         return doc;
     }
@@ -122,8 +114,7 @@
         if (clipboard != null) {
             String label;
             try {
-                Publication pub = getPublication();
-                label = clipboard.getDocument(getDocumentFactory(), pub).getLink().getLabel();
+                label = clipboard.getDocument(getSession()).getLink().getLabel();
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
@@ -134,11 +125,7 @@
     protected Publication getPublication() {
         URLInformation info = new URLInformation(getSourceURL());
         String pubId = info.getPublicationId();
-        try {
-            return getDocumentFactory().getPublication(pubId);
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
-        }
+        return getSession().getPublication(pubId);
     }
 
     /**
@@ -155,9 +142,8 @@
                 Node siteNode = getArea().getSite().getRepositoryNode();
                 nodes.add(siteNode);
 
-                DocumentFactory map = getDocumentFactory();
                 Publication pub = getPublication();
-                Document clippedDocument = clipboard.getDocument(map, pub);
+                Document clippedDocument = clipboard.getDocument(getSession());
 
                 NodeSet subsite = SiteUtil.getSubSite(clippedDocument.getLink().getNode());
                 Document[] subsiteDocs = subsite.getDocuments();
@@ -179,11 +165,7 @@
     protected Area getArea() {
         Publication pub = getPublication();
         URLInformation info = new URLInformation(getSourceURL());
-        try {
-            return pub.getArea(info.getArea());
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
-        }
+        return pub.getArea(info.getArea());
     }
 
     /**
@@ -192,13 +174,12 @@
     protected void doExecute() throws Exception {
         super.doExecute();
 
-        DocumentFactory identityMap = getDocumentFactory();
         ClipboardHelper helper = new ClipboardHelper();
 
         HttpServletRequest request = getRequest();
         Clipboard clipboard = helper.getClipboard(request);
         Publication pub = getPublication();
-        Document clippedDocument = clipboard.getDocument(identityMap, pub);
+        Document clippedDocument = clipboard.getDocument(getSession());
 
         final String targetPath = getTargetPath();
         final Area area = clippedDocument.area();
@@ -215,10 +196,9 @@
 
     protected String getTargetPath() throws SiteException, DocumentBuildException,
             ServiceException, DocumentException {
-        DocumentFactory identityMap = getDocumentFactory();
         Clipboard clipboard = new ClipboardHelper().getClipboard(getRequest());
         Publication pub = getPublication();
-        Document clippedDocument = clipboard.getDocument(identityMap, pub);
+        Document clippedDocument = clipboard.getDocument(getSession());
 
         String targetArea = getArea().getName();
         String language = clippedDocument.getLanguage();
@@ -231,7 +211,7 @@
 
         DocumentLocator potentialLoc = DocumentLocator.getLocator(getPublication().getId(),
                 targetArea, potentialPath, language);
-        return SiteUtil.getAvailableLocator(getDocumentFactory(), potentialLoc).getPath();
+        return SiteUtil.getAvailableLocator(getSession(), potentialLoc).getPath();
     }
 
     protected HttpServletRequest getRequest() {

Modified: lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Restore.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Restore.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Restore.java (original)
+++ lenya/trunk/org.apache.lenya.core.sitemanagement/src/main/java/org/apache/lenya/cms/site/usecases/Restore.java Mon Feb  9 18:49:13 2009
@@ -64,7 +64,7 @@
         // Check to see if parent node exists in target to prevent ghost nodes
         Area targetArea = doc.getPublication().getArea(targetAreaName);
         DocumentLocator targetLoc = doc.getLocator().getAreaVersion(targetAreaName);
-        targetLoc = SiteUtil.getAvailableLocator(getDocumentFactory(), targetLoc);
+        targetLoc = SiteUtil.getAvailableLocator(getSession(), targetLoc);
         String targetPath = targetLoc.getPath();
         targetPath = targetPath.substring(0, targetPath.lastIndexOf('/'));
         if (!targetArea.getSite().contains(targetPath)) {

Modified: lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java (original)
+++ lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/templating/PublicationTemplateManagerImpl.java Mon Feb  9 18:49:13 2009
@@ -27,7 +27,6 @@
 import org.apache.commons.logging.Log;
 import org.apache.excalibur.source.SourceResolver;
 import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationException;
 import org.springframework.web.context.WebApplicationContext;
 
 /**
@@ -130,13 +129,9 @@
 
         String templateId = publication.getTemplateId();
         if (templateId != null) {
-            try {
-                Publication template = publication.getFactory().getPublication(templateId);
-                Publication[] templateTemplates = getPublications(template);
-                publications.addAll(Arrays.asList(templateTemplates));
-            } catch (PublicationException e) {
-                throw new RuntimeException(e);
-            }
+            Publication template = publication.getSession().getPublication(templateId);
+            Publication[] templateTemplates = getPublications(template);
+            publications.addAll(Arrays.asList(templateTemplates));
         }
 
         return (Publication[]) publications.toArray(new Publication[publications.size()]);

Modified: lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java (original)
+++ lenya/trunk/org.apache.lenya.core.templating/src/main/java/org/apache/lenya/cms/publication/usecases/CreatePublicationFromTemplate.java Mon Feb  9 18:49:13 2009
@@ -45,7 +45,7 @@
     protected void initParameters() {
         super.initParameters();
 
-        Publication[] pubs = getDocumentFactory().getPublications();
+        Publication[] pubs = getSession().getPublications();
         List templates = new ArrayList();
         for (int i = 0; i < pubs.length; i++) {
             if (pubs[i].getInstantiatorHint() != null) {
@@ -67,7 +67,7 @@
         if (!PublicationUtil.isValidPublicationID(publicationId)) {
             addErrorMessage("invalid-publication-id");
         } else {
-            if (getDocumentFactory().existsPublication(publicationId)) {
+            if (getSession().existsPublication(publicationId)) {
                 addErrorMessage("publication-already-exists");
             }
         }
@@ -88,7 +88,7 @@
 
         Instantiator instantiator = null;
 
-        Publication template = getDocumentFactory().getPublication(templateId);
+        Publication template = getSession().getPublication(templateId);
         String name = getParameterAsString(PUBLICATION_NAME);
 
         instantiator = (Instantiator) WebAppContextUtils.getCurrentWebApplicationContext().getBean(

Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogGenerator.java Mon Feb  9 18:49:13 2009
@@ -30,13 +30,10 @@
 import org.apache.cocoon.environment.SourceResolver;
 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.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.SiteManager;
 import org.apache.lenya.util.ServletHelper;
 import org.xml.sax.SAXException;
@@ -79,7 +76,7 @@
      */
     protected int numrecent;
     
-    private RepositoryManager repositoryManager;
+    private Repository repository;
 
     /**
      * Set the request parameters. Must be called before the generate method.
@@ -124,15 +121,14 @@
         SiteManager siteManager = null;
         try {
             Request request = ObjectModelHelper.getRequest(this.objectModel);
-            Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-            DocumentFactory map = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
             String id = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
-            Publication publication = map.getPublication(id);
+            Publication publication = session.getPublication(id);
 
             selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE + "Selector");
             siteManager = (SiteManager) selector.select(publication.getSiteManagerHint());
 
-            Document[] docs = siteManager.getDocuments(map, publication, area);
+            Document[] docs = siteManager.getDocuments(publication, area);
             Arrays.sort((Object[]) docs, new Comparator() {
                 public int compare(Object o1, Object o2) {
                     try {
@@ -183,11 +179,4 @@
         this.contentHandler.endDocument();
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
-    }
 }

Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/cocoon/generation/BlogOverviewGenerator.java Mon Feb  9 18:49:13 2009
@@ -31,13 +31,10 @@
 import org.apache.cocoon.environment.SourceResolver;
 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.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.SiteManager;
 import org.apache.lenya.util.ServletHelper;
 import org.apache.lenya.xml.DocumentHelper;
@@ -110,7 +107,7 @@
      */
     protected Request request;
     
-    private RepositoryManager repositoryManager;
+    private Repository repository;
     
     /**
      * Set the request parameters. Must be called before the generate method.
@@ -182,10 +179,9 @@
         ServiceSelector selector = null;
         SiteManager siteManager = null;
         try {            
-            Session session = RepositoryUtil.getSession(getRepositoryManager(), request);
-            DocumentFactory map = DocumentUtil.createDocumentFactory(session);
+            Session session = this.repository.getSession(request);
             String id = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
-            Publication publication = map.getPublication(id);
+            Publication publication = session.getPublication(id);
             
             
             selector = (ServiceSelector) this.manager.lookup(SiteManager.ROLE
@@ -193,7 +189,7 @@
             siteManager = (SiteManager) selector.select(publication
                     .getSiteManagerHint());
 
-            Document[] docs = siteManager.getDocuments(map, publication, area);
+            Document[] docs = siteManager.getDocuments(publication, area);
             ArrayList filteredDocs = new ArrayList(1);          
             for (int i=0; i<docs.length; i++) {
                 String path = docs[i].getPath();
@@ -445,11 +441,4 @@
         this.contentHandler.endDocument();
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
-    }
 }

Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/blog/cms/usecases/Delete.java Mon Feb  9 18:49:13 2009
@@ -33,7 +33,7 @@
  * @version $Id: Deactivate.java 264805 2005-08-30 16:20:15Z andreas $
  */
 public class Delete extends DocumentUsecase {
-    
+
     private DocumentManager documentManager;
 
     /**
@@ -82,9 +82,11 @@
      */
     protected void doExecute() throws Exception {
         super.doExecute();
-        delete(getSourceDocument());
-        setTargetDocument(getDocumentFactory().get(getSourceDocument().getPublication(),
-                Publication.AUTHORING_AREA, "/feeds/all/index"));
+        Document doc = getSourceDocument();
+        delete(doc);
+        setTargetDocument(doc.getPublication().getArea(Publication.AUTHORING_AREA).getSite()
+                .getNode("/feeds/all/index").getLink(doc.getPublication().getDefaultLanguage())
+                .getDocument());
     }
 
     /**
@@ -117,6 +119,5 @@
     public void setDocumentManager(DocumentManager documentManager) {
         this.documentManager = documentManager;
     }
-    
-    
+
 }
\ No newline at end of file

Modified: lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java (original)
+++ lenya/trunk/org.apache.lenya.module.blog/src/main/java/org/apache/lenya/cms/site/usecases/CreateBlogEntry.java Mon Feb  9 18:49:13 2009
@@ -28,7 +28,6 @@
 import org.apache.lenya.cms.metadata.dublincore.DublinCore;
 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.DocumentManager;
 import org.apache.lenya.cms.publication.ResourceType;
 import org.apache.lenya.cms.publication.ResourceTypeResolver;
@@ -112,14 +111,12 @@
         ResourceType resourceType = getResourceTypeResolver()
                 .getResourceType(getDocumentTypeName());
 
-        DocumentFactory map = getDocumentFactory();
-
         String documentId = getDocumentID();
 
         String sampleName = resourceType.getSampleNames()[0];
         String sampleUri = resourceType.getSample(sampleName).getUri();
 
-        Document document = documentManager.add(map, resourceType, sampleUri, getSourceDocument()
+        Document document = documentManager.add(resourceType, sampleUri, getSourceDocument()
                 .getPublication(), getSourceDocument().getArea(), documentId, language, "xml",
                 getParameterAsString(DublinCore.ELEMENT_TITLE), true);
 

Modified: lenya/trunk/org.apache.lenya.module.collection/src/main/java/org/apache/lenya/modules/collection/CollectionWrapper.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.collection/src/main/java/org/apache/lenya/modules/collection/CollectionWrapper.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.collection/src/main/java/org/apache/lenya/modules/collection/CollectionWrapper.java (original)
+++ lenya/trunk/org.apache.lenya.module.collection/src/main/java/org/apache/lenya/modules/collection/CollectionWrapper.java Mon Feb  9 18:49:13 2009
@@ -170,10 +170,9 @@
      * @throws DocumentBuildException when something went wrong.
      */
     protected Document loadDocument(Element documentElement) throws DocumentBuildException {
-        String documentId = documentElement.getAttribute(ATTRIBUTE_UUID);
-        Document document = getDelegate().getFactory().get(getDelegate().getPublication(),
-                getDelegate().getArea(), documentId, getDelegate().getLanguage());
-        return document;
+        String uuid = documentElement.getAttribute(ATTRIBUTE_UUID);
+        Document del = getDelegate();
+        return del.area().getDocument(uuid, del.getLanguage());
     }
 
     /**

Modified: lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Import.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Import.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Import.java (original)
+++ lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Import.java Mon Feb  9 18:49:13 2009
@@ -24,7 +24,6 @@
 import org.apache.lenya.cms.publication.Area;
 import org.apache.lenya.cms.publication.DocumentManager;
 import org.apache.lenya.cms.publication.Publication;
-import org.apache.lenya.cms.publication.PublicationException;
 import org.apache.lenya.cms.publication.ResourceTypeResolver;
 import org.apache.lenya.cms.publication.URLInformation;
 import org.apache.lenya.cms.usecase.AbstractUsecase;
@@ -33,7 +32,7 @@
  * Import content.
  */
 public class Import extends AbstractUsecase {
-    
+
     private SourceResolver sourceResolver;
     private DocumentManager documentManager;
     private ResourceTypeResolver resourceTypeResolver;
@@ -41,12 +40,7 @@
     protected void initParameters() {
         super.initParameters();
         String pubId = new URLInformation(getSourceURL()).getPublicationId();
-        Publication pub;
-        try {
-            pub = getDocumentFactory().getPublication(pubId);
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
-        }
+        Publication pub = getSession().getPublication(pubId);
         String path = getExampleContentPath(pub);
         if (!new File(path).exists()) {
             path = getExampleContentPath(getDefaultPub());
@@ -60,13 +54,7 @@
     }
 
     protected Publication getDefaultPub() {
-        Publication defaultPub;
-        try {
-            defaultPub = getDocumentFactory().getPublication("default");
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
-        }
-        return defaultPub;
+        return getSession().getPublication("default");
     }
 
     protected void doCheckPreconditions() throws Exception {
@@ -82,13 +70,7 @@
         URLInformation info = new URLInformation(url);
         String pubId = info.getPublicationId();
         String areaName = info.getArea();
-        Area area;
-        try {
-            area = getDocumentFactory().getPublication(pubId).getArea(areaName);
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
-        }
-        return area;
+        return getSession().getPublication(pubId).getArea(areaName);
     }
 
     protected void doCheckExecutionConditions() throws Exception {

Modified: lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Importer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Importer.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Importer.java (original)
+++ lenya/trunk/org.apache.lenya.module.export/src/main/java/org/apache/lenya/cms/export/Importer.java Mon Feb  9 18:49:13 2009
@@ -132,9 +132,8 @@
             Document newDoc;
             SiteStructure site = area.getSite();
             if (!site.contains(path) || site.getNode(path).getLanguages().length == 0) {
-                newDoc = getDocumentManager().add(area.getPublication().getFactory(), resourceType,
-                        contentUri, area.getPublication(), area.getName(), path, language, "xml",
-                        navigationTitle, visibleInNav);
+                newDoc = getDocumentManager().add(resourceType, contentUri, area.getPublication(),
+                        area.getName(), path, language, "xml", navigationTitle, visibleInNav);
                 newDoc.setMimeType(mimeType);
             } else {
                 SiteNode node = site.getNode(path);
@@ -156,7 +155,7 @@
                 String value = DocumentHelper.getSimpleElementText(dcElements[i]);
                 meta.setValue(key, value);
             }
-            
+
         } catch (Exception e) {
             throw new RuntimeException(e);
         }

Modified: lenya/trunk/org.apache.lenya.module.lenyadoc/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java
URL: http://svn.apache.org/viewvc/lenya/trunk/org.apache.lenya.module.lenyadoc/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java?rev=742672&r1=742671&r2=742672&view=diff
==============================================================================
--- lenya/trunk/org.apache.lenya.module.lenyadoc/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java (original)
+++ lenya/trunk/org.apache.lenya.module.lenyadoc/src/main/java/org/apache/lenya/cms/cocoon/source/LenyaDocSourceFactory.java Mon Feb  9 18:49:13 2009
@@ -32,17 +32,12 @@
 import org.apache.excalibur.source.SourceException;
 import org.apache.excalibur.source.SourceFactory;
 import org.apache.lenya.cms.publication.Document;
-import org.apache.lenya.cms.publication.DocumentBuildException;
-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.PublicationException;
+import org.apache.lenya.cms.publication.Repository;
+import org.apache.lenya.cms.publication.ResourceNotFoundException;
+import org.apache.lenya.cms.publication.Session;
 import org.apache.lenya.cms.publication.URLInformation;
 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.ServletHelper;
 
 /**
@@ -65,7 +60,7 @@
 
     protected static final String SCHEME = "lenyadoc";
     
-    private RepositoryManager repositoryManager;
+    private Repository repository;
     private NodeFactory nodeFactory;
 
     /**
@@ -104,14 +99,7 @@
         ProcessInfoProvider processInfoProvider = (ProcessInfoProvider) WebAppContextUtils
                 .getCurrentWebApplicationContext().getBean(ProcessInfoProvider.ROLE);
         HttpServletRequest request = processInfoProvider.getRequest();
-        Session session;
-        try {
-            session = RepositoryUtil.getSession(getRepositoryManager(), request);
-        } catch (RepositoryException e) {
-            throw new RuntimeException(e);
-        }
-        DocumentFactory factory = DocumentUtil.createDocumentFactory(session);
-
+        Session session = this.repository.getSession(request);
         start = end + 1;
         
         // Absolute vs. relative
@@ -125,8 +113,8 @@
             }
             String publicationId = location.substring(start, end);
             try {
-                pub = factory.getPublication(publicationId);
-            } catch (PublicationException e) {
+                pub = session.getPublication(publicationId);
+            } catch (ResourceNotFoundException e) {
                 throw new MalformedURLException("Malformed lenyadoc: Publication [" + publicationId
                         + "] does not exist or could not be initialized");
             }
@@ -148,8 +136,8 @@
             // Relative: get publication id and area from page envelope
             try {
                 String id = new URLInformation(ServletHelper.getWebappURI(request)).getPublicationId();
-                pub = factory.getPublication(id);
-            } catch (PublicationException e) {
+                pub = session.getPublication(id);
+            } catch (ResourceNotFoundException e) {
                 throw new SourceException("Error getting publication id / area from page envelope ["
                         + location + "]");
             }
@@ -182,8 +170,8 @@
         }
         Document document;
         try {
-            document = factory.get(pub, area, uuid, language);
-        } catch (DocumentBuildException e) {
+            document = pub.getArea(area).getDocument(uuid, language);
+        } catch (ResourceNotFoundException e) {
             throw new MalformedURLException("Malformed lenyadoc: Document [" + uuid + ":"
                     + language + "] could not be created.");
         }
@@ -206,12 +194,8 @@
         // Source will be released by delegated source factory.
     }
 
-    public void setRepositoryManager(RepositoryManager repositoryManager) {
-        this.repositoryManager = repositoryManager;
-    }
-
-    public RepositoryManager getRepositoryManager() {
-        return repositoryManager;
+    public void setRepository(Repository repository) {
+        this.repository = repository;
     }
 
     public void setNodeFactory(NodeFactory nodeFactory) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org