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 2005/03/01 18:55:43 UTC
svn commit: r155806 - in lenya/trunk/src:
java/org/apache/lenya/cms/site/usecases/ webapp/WEB-INF/
webapp/lenya/pubs/default/config/menus/ webapp/lenya/usecases/site/
Author: andreas
Date: Tue Mar 1 09:55:42 2005
New Revision: 155806
URL: http://svn.apache.org/viewcvs?view=rev&rev=155806
Log:
ported delete to usecase framework
Added:
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
lenya/trunk/src/webapp/lenya/pubs/default/config/menus/generic.xsp
lenya/trunk/src/webapp/lenya/usecases/site/delete.jx
lenya/trunk/src/webapp/lenya/usecases/site/deleteLanguage.jx
Added: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java?view=auto&rev=155806
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java (added)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/Delete.java Tue Mar 1 09:55:42 2005
@@ -0,0 +1,63 @@
+/*
+ * Copyright 1999-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.lenya.cms.site.usecases;
+
+import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentIdentityMap;
+import org.apache.lenya.cms.publication.Publication;
+import org.apache.lenya.cms.publication.util.DocumentHelper;
+import org.apache.lenya.cms.usecase.DocumentUsecase;
+
+/**
+ * Delete a document and all its descendants, including all language versions.
+ * The documents are moved to the trash.
+ *
+ * @version $Id:$
+ */
+public class Delete extends DocumentUsecase {
+
+ /**
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions()
+ */
+ protected void doCheckPreconditions() throws Exception {
+ super.doCheckPreconditions();
+ if (!getErrorMessages().isEmpty()) {
+ return;
+ }
+
+ if (!getSourceDocument().getArea().equals(Publication.AUTHORING_AREA)) {
+ addErrorMessage("This usecase can only be invoked in the authoring area!");
+ }
+ }
+
+ /**
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+ */
+ protected void doExecute() throws Exception {
+ super.doExecute();
+
+ Document source = getSourceDocument();
+ DocumentIdentityMap identityMap = source.getIdentityMap();
+
+ Document target = identityMap.getFactory().getAreaVersion(source, Publication.TRASH_AREA);
+ getDocumentManager().moveAll(source, target);
+
+ Document parent = source.getIdentityMap().getFactory().getParent(source, "/index");
+ setTargetDocument(DocumentHelper.getExistingLanguageVersion(parent));
+ }
+
+}
\ No newline at end of file
Modified: lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java?view=diff&r1=155805&r2=155806
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java Tue Mar 1 09:55:42 2005
@@ -19,7 +19,6 @@
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.util.DocumentHelper;
-import org.apache.lenya.cms.site.SiteManager;
import org.apache.lenya.cms.usecase.DocumentUsecase;
/**
@@ -52,26 +51,9 @@
super.doExecute();
Document document = getSourceDocument();
- SiteManager _manager = document.getPublication().getSiteManager(document.getIdentityMap());
- _manager.delete(document);
-
- document.getFile().delete();
-
- if (hasWorkflow(document)) {
- getWorkflowInstance(document).getHistory().delete();
- }
+ getDocumentManager().deleteDocument(document);
setTargetDocument(DocumentHelper.getExistingLanguageVersion(document));
}
- /**
- * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
- */
- protected void initParameters() {
- super.initParameters();
- if (getSourceDocument() != null) {
- setParameter("documentId", getSourceDocument().getId());
- setParameter("language", getSourceDocument().getLanguage());
- }
- }
}
Modified: lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl?view=diff&r1=155805&r2=155806
==============================================================================
--- lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl (original)
+++ lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl Tue Mar 1 09:55:42 2005
@@ -258,6 +258,7 @@
<component-instance name="site.create" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.CreateDocument"/>
<component-instance name="site.createLanguage" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.CreateLanguage"/>
+ <component-instance name="site.delete" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Delete"/>
<component-instance name="site.deleteLanguage" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.DeleteLanguage"/>
<component-instance name="site.changeLabel" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.ChangeLabel"/>
<component-instance name="site.changeNodeID" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.ChangeNodeID"/>
Modified: lenya/trunk/src/webapp/lenya/pubs/default/config/menus/generic.xsp
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/config/menus/generic.xsp?view=diff&r1=155805&r2=155806
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/config/menus/generic.xsp (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/config/menus/generic.xsp Tue Mar 1 09:55:42 2005
@@ -109,8 +109,8 @@
if (isDocument &&
!"/index".equals(<input:get-attribute module="page-envelope" as="string" name="document-id"/>)) {
- <item wf:event="delete" uc:usecase="delete" uc:step="showscreen" href="?"><i18n:text>Delete</i18n:text></item>
- <item wf:event="archive" uc:usecase="archive" uc:step="showscreen" href="?"><i18n:text>Archive</i18n:text></item>
+ <item wf:event="delete" uc:usecase="site.delete" href="?"><i18n:text>Delete</i18n:text></item>
+ <item wf:event="archive" uc:usecase="site.archive" href="?"><i18n:text>Archive</i18n:text></item>
}
else {
<item><i18n:text>Delete</i18n:text></item>
Modified: lenya/trunk/src/webapp/lenya/usecases/site/delete.jx
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/site/delete.jx?view=diff&r1=155805&r2=155806
==============================================================================
--- lenya/trunk/src/webapp/lenya/usecases/site/delete.jx (original)
+++ lenya/trunk/src/webapp/lenya/usecases/site/delete.jx Tue Mar 1 09:55:42 2005
@@ -28,22 +28,39 @@
<div class="lenya-box-title">
<i18n:translate>
<i18n:text key="delete-doc"/>
- <i18n:param><q><jx:out value="${usecase.getParameter('documentid')}"/></q></i18n:param>
+ <i18n:param><q><jx:out value="${usecase.getParameter('document').getId()}"/></q></i18n:param>
</i18n:translate>
</div>
<div class="lenya-box-body">
<form method="get">
-
- <input type="hidden" name="lenya.event" value="{$lenya.event}"/>
- <input type="hidden" name="lenya.usecase" value="delete"/>
- <input type="hidden" name="parenturl" value="{parent-url}"/>
-
+ <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
+ <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/>
<table class="lenya-table-noborder">
<tr>
<td>
+ <ul>
+ <jx:forEach var="message" items="${usecase.getErrorMessages()}">
+ <li>
+ <i18n:text>
+ <jx:out value="${message}"/>
+ </i18n:text>
+ </li>
+ </jx:forEach>
+ <jx:forEach var="message" items="${usecase.getInfoMessages()}">
+ <li>
+ <i18n:text>
+ <jx:out value="${message}"/>
+ </i18n:text>
+ </li>
+ </jx:forEach>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
<i18n:translate>
<i18n:text key="delete-language-versions?"/>
- <i18n:param><strong><jx:out value="${usecase.getParameter('documentid')}"/></strong></i18n:param>
+ <i18n:param><strong><jx:out value="${usecase.getParameter('document').getId()}"/></strong></i18n:param>
</i18n:translate><br/><br/>
</td>
</tr>
@@ -61,9 +78,9 @@
</tr>
<tr>
<td>
- <br/>
- <input i18n:attr="value" type="submit" value="Delete"/> 
- <input i18n:attr="value" type="button" onClick="location.href='{$request-uri}';" value="Cancel"/>
+ <input i18n:attr="value" type="submit" name="submit" value="Delete"/>
+  
+ <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
</td>
</tr>
</table>
Modified: lenya/trunk/src/webapp/lenya/usecases/site/deleteLanguage.jx
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/usecases/site/deleteLanguage.jx?view=diff&r1=155805&r2=155806
==============================================================================
--- lenya/trunk/src/webapp/lenya/usecases/site/deleteLanguage.jx (original)
+++ lenya/trunk/src/webapp/lenya/usecases/site/deleteLanguage.jx Tue Mar 1 09:55:42 2005
@@ -57,14 +57,14 @@
<td class="lenya-entry-caption">
<i18n:text>Document ID</i18n:text>: </td>
<td>
- <jx:out value="${usecase.getParameter('documentId')}"/>
+ <jx:out value="${usecase.getParameter('document').getId()}"/>
</td>
</tr>
<tr>
<td class="lenya-entry-caption">
<i18n:text>Language</i18n:text>*: </td>
<td>
- <jx:out value="${usecase.getParameter('language')}"/>
+ <jx:out value="${usecase.getParameter('document').getLanguage()}"/>
</td>
</tr>
<tr>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org