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

[email protected]
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
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) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.