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 2004/09/17 18:48:45 UTC

svn commit: rev 46263 - in incubator/lenya/trunk/src/webapp/lenya: content/publishing pubs/default/java/src/org/apache/lenya/defaultpub/cms/task

Author: andreas
Date: Fri Sep 17 09:48:44 2004
New Revision: 46263

Modified:
   incubator/lenya/trunk/src/webapp/lenya/content/publishing/screen.xsp
   incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Deactivate.java
   incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Publish.java
Log:
introduced DocumentFactory

Modified: incubator/lenya/trunk/src/webapp/lenya/content/publishing/screen.xsp
==============================================================================
--- incubator/lenya/trunk/src/webapp/lenya/content/publishing/screen.xsp	(original)
+++ incubator/lenya/trunk/src/webapp/lenya/content/publishing/screen.xsp	Fri Sep 17 09:48:44 2004
@@ -31,9 +31,8 @@
     <xsp:include>org.apache.lenya.ac.UserManager</xsp:include>
     <xsp:include>org.apache.lenya.cms.publication.DefaultDocumentBuilder</xsp:include>
     <xsp:include>org.apache.lenya.cms.publication.Document</xsp:include>
+    <xsp:include>org.apache.lenya.cms.publication.DocumentIdentityMap</xsp:include>
     <xsp:include>org.apache.lenya.cms.publication.Publication</xsp:include>
-    <xsp:include>org.apache.lenya.cms.site.tree.SiteTree</xsp:include>
-    <xsp:include>org.apache.lenya.cms.site.tree.SiteTreeNode</xsp:include>
     <xsp:include>org.apache.lenya.cms.publication.xsp.DocumentReferencesHelper</xsp:include>
     <xsp:include>org.apache.lenya.cms.workflow.CMSVersion</xsp:include>
     <xsp:include>org.apache.lenya.cms.workflow.WorkflowFactory</xsp:include>
@@ -60,32 +59,22 @@
     <usecase:task-id>publish</usecase:task-id>
     
     <xsp:logic>
+      Document document = (Document) <input:get-attribute module="page-envelope" as="object" name="document"/>;
+      DocumentIdentityMap identityMap = document.getIdentityMap();
+      
       try {
-          Document document = (Document) <input:get-attribute module="page-envelope" as="object" name="document"/>;
-          Object authoringNodeObject = <input:get-attribute module="sitetree" as="object" name="authoring-node"/>;
-          if (null != authoringNodeObject &amp;&amp; authoringNodeObject instanceof SiteTreeNode) {
-              SiteTreeNode authoringNode = (SiteTreeNode) authoringNodeObject;
-              String authoringParentId = authoringNode.getAbsoluteParentId();
-          
-              SiteTree liveTree = document.getPublication().getSiteTree(Publication.LIVE_AREA);
-              SiteTreeNode liveParent = liveTree.getNode(authoringParentId);
+          Document parent = identityMap.getFactory().getParent(document);
+          Document liveParent = identityMap.getFactory().getAreaVersion(document, Publication.LIVE_AREA);
+          if (!liveParent.exists()) {
+              <usecase:message id="parent-not-live"/>
           
-              Publication publication = (Publication)
-                  <input:get-attribute module="page-envelope" as="object" name="publication"/>;
-          
-              if (liveParent == null) {
-                  <usecase:message id="parent-not-live"/>
+              String url = liveParent.getCanonicalWebappURL();
               
-                  DefaultDocumentBuilder builder = DefaultDocumentBuilder.getInstance();
-                  String url = builder.buildCanonicalUrl(publication,
-                      document.getArea(), authoringNode.getAbsoluteParentId(), document.getLanguage());
-                  
-                  <usecase:parent>
-                    <xsp:attribute name="href"><xsp-request:get-context-path/><xsp:expr>url</xsp:expr></xsp:attribute>
-                    <xsp:attribute name="id"><xsp:expr>authoringNode.getParentId()</xsp:expr></xsp:attribute>
-                    <xsp:attribute name="language"><xsp:expr>document.getLanguage()</xsp:expr></xsp:attribute>
-                  </usecase:parent>
-              }
+              <usecase:parent>
+                <xsp:attribute name="href"><xsp-request:get-context-path/><xsp:expr>url</xsp:expr></xsp:attribute>
+                <xsp:attribute name="id"><xsp:expr>liveParent.getId()</xsp:expr></xsp:attribute>
+                <xsp:attribute name="language"><xsp:expr>liveParent.getLanguage()</xsp:expr></xsp:attribute>
+              </usecase:parent>
           }
           
       }
@@ -96,11 +85,8 @@
     
     <not:users>
     <xsp:logic>
-      
         try {
         
-          Document document = (Document)
-            <input:get-attribute module="page-envelope" as="object" name="document"/>;
           String userId = null;
           
           if (WorkflowFactory.newInstance().hasWorkflow(document)) {
@@ -137,7 +123,7 @@
     </not:users>
 
     <xsp:logic>
-	  DocumentReferencesHelper helper = new DocumentReferencesHelper(objectModel);
+	  DocumentReferencesHelper helper = new DocumentReferencesHelper(document.getIdentityMap(), objectModel);
 	  Document[] references = helper.getInternalReferences();
 	  if (references.length &gt; 0) {
         </xsp:logic><referenced-documents><xsp:logic>

Modified: incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Deactivate.java
==============================================================================
--- incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Deactivate.java	(original)
+++ incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Deactivate.java	Fri Sep 17 09:48:44 2004
@@ -159,7 +159,7 @@
         throws ParameterException, DocumentBuildException, ExecutionException {
         String id = getParameters().getParameter(PARAMETER_DOCUMENT_ID);
         String language = getParameters().getParameter(PARAMETER_DOCUMENT_LANGUAGE);
-        Document document = getIdentityMap().get(Publication.LIVE_AREA, id, language);
+        Document document = getIdentityMap().getFactory().get(Publication.LIVE_AREA, id, language);
         return document;
     }
 

Modified: incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Publish.java
==============================================================================
--- incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Publish.java	(original)
+++ incubator/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/task/Publish.java	Fri Sep 17 09:48:44 2004
@@ -26,7 +26,6 @@
 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.DocumentHelper;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.PublicationException;
 import org.apache.lenya.cms.publication.task.PublicationTask;
@@ -100,7 +99,7 @@
         }
 
         Document liveDocument = getPublication().getAreaVersion(document, Publication.LIVE_AREA);
-        Document liveParent = DocumentHelper.getParentDocument(liveDocument);
+        Document liveParent = document.getIdentityMap().getFactory().getParent(liveDocument);
         if (liveParent != null) {
             SiteTree liveTree = getSiteTree(Publication.LIVE_AREA);
             SiteTreeNode liveParentNode = liveTree.getNode(liveParent.getId());
@@ -146,7 +145,7 @@
         throws ParameterException, DocumentBuildException, ExecutionException {
         String id = getParameters().getParameter(PARAMETER_DOCUMENT_ID);
         String language = getParameters().getParameter(PARAMETER_DOCUMENT_LANGUAGE);
-        Document document = getIdentityMap().get(Publication.AUTHORING_AREA, id, language);
+        Document document = getIdentityMap().getFactory().get(Publication.AUTHORING_AREA, id, language);
         return document;
     }
 

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