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/01/20 15:18:17 UTC

svn commit: r125769 - /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/lenya/usecases/site/deleteLanguage.jx

Author: andreas
Date: Thu Jan 20 06:18:14 2005
New Revision: 125769

URL: http://svn.apache.org/viewcvs?view=rev&rev=125769
Log:
using usecase framework for deleteLanguage usecase
Added:
   lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java
   lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/deleteLanguage.jx
Modified:
   lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl

Added: 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=auto&rev=125769
==============================================================================
--- (empty file)
+++ lenya/trunk/src/java/org/apache/lenya/cms/site/usecases/DeleteLanguage.java	Thu Jan 20 06:18:14 2005
@@ -0,0 +1,71 @@
+/*
+ * 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.util.DocumentHelper;
+import org.apache.lenya.cms.site.SiteManager;
+import org.apache.lenya.cms.usecase.DocumentUsecase;
+import org.apache.lenya.cms.workflow.WorkflowFactory;
+
+/**
+ * Delete a language version.
+ * 
+ * @version $Id:$
+ */
+public class DeleteLanguage extends DocumentUsecase {
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckPreconditions()
+     */
+    protected void doCheckPreconditions() throws Exception {
+        super.doCheckPreconditions();
+        
+        if (getSourceDocument().getLanguages().length == 1) {
+            addErrorMessage("The last language version cannot be removed.");
+        }
+    }
+    
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+     */
+    protected void doExecute() throws Exception {
+        super.doExecute();
+
+        Document document = getSourceDocument();
+        SiteManager manager = document.getPublication().getSiteManager(document.getIdentityMap());
+        manager.delete(document);
+        
+        document.getFile().delete();
+        
+        WorkflowFactory workflowFactory = WorkflowFactory.newInstance();
+        if (workflowFactory.hasWorkflow(document)) {
+            WorkflowFactory.getHistory(document).delete();
+        }
+        
+        setTargetDocument(DocumentHelper.getExistingLanguageVersion(document));
+    }
+
+    /**
+     * @see org.apache.lenya.cms.usecase.AbstractUsecase#initParameters()
+     */
+    protected void initParameters() {
+        super.initParameters();
+        setParameter("documentId", getSourceDocument().getId());
+        setParameter("language", getSourceDocument().getLanguage());
+    }
+}
\ No newline at end of file

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&rev=125769&p1=lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl&r1=125768&p2=lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl&r2=125769
==============================================================================
--- lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl	(original)
+++ lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl	Thu Jan 20 06:18:14 2005
@@ -256,6 +256,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.deleteLanguage" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.DeleteLanguage"/>
     
     <component-instance name="tab.acArchive" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl"/>
     <component-instance name="tab.acAuthoring" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl"/>

Added: lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/deleteLanguage.jx
Url: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/deleteLanguage.jx?view=auto&rev=125769
==============================================================================
--- (empty file)
+++ lenya/trunk/src/webapp/lenya/pubs/default/lenya/usecases/site/deleteLanguage.jx	Thu Jan 20 06:18:14 2005
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<!--
+  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.
+-->
+
+<!-- $Id: login.jx 123986 2005-01-03 15:23:11Z andreas $ -->
+
+<page:page xmlns:jx="http://apache.org/cocoon/templates/jx/1.0" 
+           xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
+           xmlns="http://www.w3.org/1999/xhtml" 
+           xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >
+
+  <page:title><i18n:text>Remove Language Version</i18n:text></page:title>
+  <page:body>
+    <div class="lenya-box">
+      <div class="lenya-box-title">
+        <i18n:text>Remove Language Version</i18n:text>
+      </div>
+      <div class="lenya-box-body">
+        <form>
+          <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 colspan="2">
+                <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 class="lenya-entry-caption">
+                  <i18n:text>Document ID</i18n:text>: </td>
+                <td>
+                  <jx:out value="${usecase.getParameter('documentId')}"/>
+                </td>
+              </tr>
+              <tr>
+                <td class="lenya-entry-caption">
+                  <i18n:text>Language</i18n:text>*: </td>
+                <td>
+                  <jx:out value="${usecase.getParameter('language')}"/>
+                </td>
+              </tr>
+              <tr>
+                <td/>
+                <td>
+                  <input i18n:attr="value" type="submit" name="submit" value="Delete"/>
+                  &#160;
+                  <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
+                </td>
+              </tr>
+          </table>
+        </form>
+      </div>
+    </div>
+  </page:body>
+</page:page>

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