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"/>
+  
+ <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